【发布时间】:2020-01-01 08:12:54
【问题描述】:
我想知道是否可以逐个像素地修改位图像素。我不是要求更改位图大小/比例。我正在寻找的是我想增加位图的所有或某些特定像素的大小。
我试过了
Thread(Runnable {
val newBitmap = Bitmap.createScaledBitmap(bitmap, bitmap.width * 4,
bitmap.height * 4, true);
for (x in 0 until bitmap.getWidth()) {
for (y in 0 until bitmap.getHeight()) {
val pixel = bitmap.getPixel(x, y);
val redValue = Color.red(pixel)
val blueValue = Color.blue(pixel)
val greenValue = Color.green(pixel)
newBitmap.setPixel(x * 4, y * 4, Color.rgb(redValue, greenValue, blueValue))
}
}
runOnUiThread({ imageView.setImageBitmap(newBitmap) })
}).start()
但它对位图没有影响。任何形式的帮助都将受到高度赞赏。
【问题讨论】:
-
increase size of all or some specific pixels是什么意思?像素大小始终为 1 像素,不可修改。可能您想用与您选择的像素相同的颜色为周围的像素着色? -
我想让像素看起来更大,使其具有像素化/马赛克效果。
-
可能您想用与您选择的像素相同的颜色为周围的像素着色。这是一个很好的建议。有什么想法吗?
-
为周围的所有像素着色,为 x+1 y+1、x+1 y、x y+1 等坐标执行
setPixel
标签: android image-processing bitmap