CYMK イメージのバイトを RGB イメージのバイトに変換する必要があります。
ヘッダーのバイトをスキップし、他のバイトを RGB に変換してから、ヘッダーのバイトをRGB
フォーマットに変更することは可能だと思います。
変更するヘッダー バイトはどれRGB
ですか?
ICC プロファイルを使用しないビットカラー変換の式はどれですか?
このコードを完成させるのを手伝ってくれる人はいますか?
//Decode with inSampleSize
Bitmap Resultbitmap;
string path = "imageFileCmyk.jpg";
int scale=4;
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inPurgeable = true;
o2.inSampleSize=scale;
o2.inDither = false;
Resultbitmap = BitmapFactory.decodeStream(new FileInputStream(path), null, o2);
if (Resultbitmap==null) // Warning!! unsupported color conversion request
{
File tmpfile = new File(path);
FileInputStream is = new FileInputStream(tmpfile.getPath());
byte[] cmykBytes= new byte[(int)tmpfile.length()];
byte[] rgbBytes= new byte[(int)tmpfile.length()];
is.read(cmykBytes);
for (int i = 0; cmykBytes.length>i; ++i)
{
if (i>11) // skip header's bytes, is it correct ??
{
rgbBytes[i] = cmykBytes[i]?? // How ??
}
}
// new header bytes for RGB format
rgbBytes[??]= ?? // How ??
Resultbitmap = BitmapFactory.decodeByteArray(rgbBytes, 0, rgbBytes.length, o2);
}
return Resultbitmap;
ありがとう、
アルベルト