我的位图没有显示所有像素

时间:2012-10-22 14:30:09

标签: android bitmap android-canvas android-imageview

我的问题是,我无法查看所有图像或某些像素。

我有一个imageview和位图。使用canvas库,我绘制了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>

我设置了scrollview,仅用于在简单的表单上使用滚动视图测试位图图像

提前致谢!

1 个答案:

答案 0 :(得分:2)

这是因为你“太过分了”。与(几乎)编程中的所有内容一样,画布索引基于0。因此,您需要使用ancho -1alto - 1

 canvas.drawLine(0, 0, ancho - 1, 0, pincel1); // Superior