Android 将一张CMYK方式的图片转换成RGB模式的图片
Android 将一张CMYK模式的图片转换成RGB模式的图片
Android系统是不能够显示打印模式(CMYK)的图片的。所以要在Andorid设备下显示CMYK模式的图片我得做法是将其转换成RGB模式的图片,但是通过转换颜色丢失比较大,如果大家有好的办法欢迎指正···
这里用到的一个第三方jar包:
Android系统是不能够显示打印模式(CMYK)的图片的。所以要在Andorid设备下显示CMYK模式的图片我得做法是将其转换成RGB模式的图片,但是通过转换颜色丢失比较大,如果大家有好的办法欢迎指正···
ImageInfo info = new ImageInfo(Environment.getExternalStorageDirectory().getAbsolutePath() + "/cmyk.jpg"); MagickImage imageCMYK = new MagickImage(info); Log.d(TAG, "ColorSpace BEFORE => " + imageCMYK.getColorspace()); boolean status = imageCMYK.transformRgbImage(ColorspaceType.CMYKColorspace); Log.d(TAG, "ColorSpace AFTER => " + imageCMYK.getColorspace() + ", success = " + status); imageCMYK.setFileName(Environment.getExternalStorageDirectory().getAbsolutePath() + "/cmyk_new.jpg"); imageCMYK.writeImage(info); Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Docs/cmyk_new.jpg"); if (bitmap == null) { //if decoding fails, create empty image bitmap = Bitmap.createBitmap(imageCMYK.getWidth(), imageCMYK.getHeight(), Config.ARGB_8888); } ImageView imageView1 = (ImageView) findViewById(R.id.imageView1); imageView1.setImageBitmap(bitmap);
这里用到的一个第三方jar包: