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

标签 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 只是为了在一个简单的表单上测试带有 ScrollView 的位图图像

提前致谢!

最佳答案

那是因为你“走得太远”了。与(几乎)编程中的所有内容一样, Canvas 索引是基于 0 的。所以你需要使用ancho -1alto - 1

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

关于android - 我的位图没有显示所有像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013614/

相关文章:

android - 我怎样才能结合两个android项目

java - Android - 如何通过文件名获取文件?

android - 如何在特定区域填充图像中的颜色?

android - 在 android Canvas 中使用 cubicTo 绘制云形状

android - WebView 中的 Facebook Canvas 应用程序无法在 Android 上运行(在 native facebook 应用程序中)

android - 如何仅在android中的日期选择器中显示年份

python - 如何将卡住图转换为 TensorFlow lite

java - 对设置彩色图像的中值感到困惑

android - ImageView 使应用程序崩溃

java - Canvas.drawBitmap 将源代码切成两半