【发布时间】:2016-10-26 19:43:27
【问题描述】:
我正在为 ImageView 的画布绘制一些位图。资源位图是彩色的。我希望看到的结果是一个反转的灰度位图图像。
这是我的方法,它在我的三星 Galaxy S3(4.3 版)上完美运行,但在我的 S3 Mini(4.1.2 版)上不起作用。
Overrided OnDraw(Canvas canvas) 方法内部:
// Night mode color:
Paint colorBMPPaint = new Paint();
if (((EzPdfActivityPageView) mContext).bIsNightMode) {
float invertMX[] = {
0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f, 0.0f
};
ColorMatrix invertCM = new ColorMatrix(invertMX);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(invertCM);
colorBMPPaint.setColorFilter(filter);
}
canvas.drawBitmap(bitmap,
new Rect(0, 0, (int)((bbox.right - bbox.left) * zoom), (int)((bbox.top - bbox.bottom) * zoom)),
pageDrawRect,
colorBMPPaint);
在 S3 Mini 上我只能看到黑色位图,为什么?
【问题讨论】:
标签: java android bitmap colormatrixfilter