1

私の問題は、すべての画像または一部のピクセルを表示できないことです。

イメージビューとビットマップがあります。キャンバス ライブラリを使用して、imageview の制限を描画します。しかし、結果は間違っています。画像の左と下の境界をサンプリングしてみませんか? もしそうならブラシサイズを大きくすると。

画像: http: //i.stack.imgur.com/R3Byw.jpg

アプリのこの部分のコードのみを表示します

//Init imagebitmap
largeBitmap = Bitmap.createBitmap(200,200, Bitmap.Config.ARGB_8888);

//Init canvas
canvas = new Canvas(largeBitmap);
canvas.drawColor(0xffffffff);

//Set largeBitmap on Image
as.setImageBitmap(largeBitmap);

//Init Pincel
pincel1 = new Paint();
pincel1.setARGB(255, 0, 0, 0);

//Draw Limits
int ancho = canvas.getWidth();
int alto = canvas.getHeight();

canvas.drawLine(0, 0, ancho, 0, pincel1); // Superior
canvas.drawLine(0, alto, ancho, alto, pincel1); // Inferior
canvas.drawLine(0, 0, 0, alto, pincel1); // Izq
canvas.drawLine(ancho, 0, ancho, alto, pincel1); // Drch

xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/sv"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical|center_horizontal" >

    <HorizontalScrollView
        android:id="@+id/hsv"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_vertical|center_horizontal" >

        <LinearLayout
            android:id="@+id/ll"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical|center_horizontal"
            android:gravity="center_vertical|center_horizontal" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:contentDescription="@string/app_name"
                android:scaleType="center"
                tools:context=".SIDetailFragment" />
        </LinearLayout>
    </HorizontalScrollView>

</ScrollView>

簡単なフォームでスクロールビューを使用してビットマップイメージをテストするためだけにスクロールビューを設定しました

前もって感謝します!

4

1 に答える 1

2

それは、あなたが「行き過ぎ」ているからです。プログラミングの (ほとんど) すべてと同様に、キャンバスのインデックスは 0 ベースです。ancho -1したがって、 andを使用する必要がありますalto - 1

 canvas.drawLine(0, 0, ancho - 1, 0, pincel1); // Superior
于 2012-10-22T14:45:15.250 に答える