【发布时间】:2015-02-24 22:30:08
【问题描述】:
所以,我想要做的是,如果我点击按钮,它会将同一屏幕上的图像染成橙色 (70%)。
Button OrangeButton= (Button) findViewById(R.id.OButton);
OrangeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageCapture = (ImageView) findViewById(R.id.imageCapture);
BitmapDrawable drawable = (BitmapDrawable) imageCapture
.getDrawable();
final Bitmap imgbitmap = drawable.getBitmap();
// convert bitmap to hokie tint
Bitmap imgnew;
imgnew = toOrange(imgbitmap);
// convert bitmap to imageview
imageCapture.setImageBitmap(imgnew);
}
});
}
这是我的橙色方法。
public Bitmap toOrange(Bitmap bmpOriginal) {
int width, height;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
int orangeFilter = new Color().rgb(255, 165, 0);
int maroonFilter = new Color().rgb(115, 24, 44);
for (int j = 0; j < height - 1; j++) {
for (int i = 0; i < width - 1; i++) {
我很确定我在这里遇到了问题。
int newColor = (int) (bmpOriginal.getPixel(i, j) * 0.7 + orangeFilter
* 0.3);
bmpOriginal.setPixel(i, j, newColor);
}
}
return bmpOriginal;
}
我在这个 lob 之外尝试了 bmpOriginal.setPixel(5, 5, Color.Red) ,但它也出错了。所以我知道 setPixel 不起作用。我该如何解决这个问题?
【问题讨论】:
标签: android colors bitmap pixel getpixel