当我尝试设置由拍照选择器加载的位图的像素时,我的小应用程序导致崩溃,但我不知道为什么。为此,我选择了this code。
这是我当前代码的重要部分:
public class MainActivity extends AppCompatActivity {
private Bitmap selectedImage;
...
private void changebitmap() {
ImageView imageView = findViewById(R.id.imageView);
for(int x = 0; x < selectedImage.getWidth(); x++) {
for(int y = 0; y < selectedImage.getHeight(); y++) {
selectedImage.setPixel(x, y, Color.argb(255, 128, 128 ,128));
}
}
imageView.setImageBitmap(selectedImage);
}
}
我不知道为什么它不起作用。
致谢
答案 0 :(得分:0)
好吧,我一个人得到。
问题在于意图中的位图没有正确的Config。
在API级别19上,您可以设置为
selectedImage.setConfig(Bitmap.Config.ARGB_4444);
在较低级别(如我)上,您可以按正确的配置将其逐像素复制到另一个位图。
selectedImage = Bitmap.createBitmap(copy.getWidth(), copy.getHeight(), Bitmap.Config.ARGB_4444);
for(int x=0; x < copy.getWidth(); x++) {
for(int y=0; y < copy.getHeight(); y++) {
selectedImage.setPixel(x, y, copy.getPixel(x, y));
}
}
致谢