在抖动中将图像从黑色反转为白色
invert image black to white in flutter
我有一张黑白位图图像,我只需要反转图像并显示如何转换和显示图像。我使用此代码在 java 中反转了位图图像,任何人都可以建议我如何在 flutter 中执行此操作。
private Bitmap createInvertedBitmap(Bitmap src) {
ColorMatrix colorMatrix_Inverted =
new ColorMatrix(new float[] {
-1, 0, 0, 0, 255,
0, -1, 0, 0, 255,
0, 0, -1, 0, 255,
0, 0, 0, 1, 0});
ColorFilter ColorFilter_Sepia = new ColorMatrixColorFilter(
colorMatrix_Inverted);
Bitmap bitmap = Bitmap.createBitmap(src.getWidth(), src.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(ColorFilter_Sepia);
canvas.drawBitmap(src, 0, 0, paint);
return bitmap;
}
现在可以通过 ColorFiltered class
change/invert 颜色
详情可以参考这篇博客:https://www.burkharts.net/apps/blog/over-the-rainbow-colour-filters/
另一个解决方案
你可以尝试使用ShaderMask class,并尝试将其传递给相应的Shader
,例如InvertColorShader
。目前,没有着色器可以做到这一点。
另请查看 BlendMode class 以获得您想要的结果。
我有一张黑白位图图像,我只需要反转图像并显示如何转换和显示图像。我使用此代码在 java 中反转了位图图像,任何人都可以建议我如何在 flutter 中执行此操作。
private Bitmap createInvertedBitmap(Bitmap src) {
ColorMatrix colorMatrix_Inverted =
new ColorMatrix(new float[] {
-1, 0, 0, 0, 255,
0, -1, 0, 0, 255,
0, 0, -1, 0, 255,
0, 0, 0, 1, 0});
ColorFilter ColorFilter_Sepia = new ColorMatrixColorFilter(
colorMatrix_Inverted);
Bitmap bitmap = Bitmap.createBitmap(src.getWidth(), src.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(ColorFilter_Sepia);
canvas.drawBitmap(src, 0, 0, paint);
return bitmap;
}
现在可以通过 ColorFiltered class
change/invert 颜色详情可以参考这篇博客:https://www.burkharts.net/apps/blog/over-the-rainbow-colour-filters/
另一个解决方案
你可以尝试使用ShaderMask class,并尝试将其传递给相应的Shader
,例如InvertColorShader
。目前,没有着色器可以做到这一点。
另请查看 BlendMode class 以获得您想要的结果。