CImgのサブ画像を取得しようとしています。 get_crop()メソッドが必要なことを理解していますが、取得するサブイメージには、必要とするピクセル値は含まれていません。CImg get_crop()が間違ったピクセルを返す/ CImgのサブ画像を取得する
unsigned char* StringTextureGenerator::GetTexture(int &width, int &height)
{
cil::CImg<unsigned char>* tmp = new cil::CImg<unsigned char>(512, 512, 1, 4);
*tmp = _alphabet.get_crop(0, 0, 0, 0, 511, 511, 0, 3);
width = tmp->width();
height = tmp->height();
return tmp->data();
}
アルファベットCImgは512x512x1x4で、rgbaイメージを含んでいます。私は全体にx = 0の画像取得しようとしていますテストのために - - 511、Y = 0 511 結果がこれです:
これは、予想される結果です。ファイルから読み込んだときに全体のイメージを取得しました。
しかし、私がサブイメージを取得しようとすると、奇妙なことが起こります。ここで
unsigned char* StringTextureGenerator::GetTexture(int &width, int &height)
{
cil::CImg<unsigned char>* tmp = new cil::CImg<unsigned char>(256, 256, 1, 4);
*tmp = _alphabet.get_crop(0, 0, 0, 0, 255, 255, 0, 3);
width = tmp->width();
height = tmp->height();
return tmp->data();
}
私は、x = 0のピクセルを取得しています - 、255のy = 0 - 私は絵の左上の四分の一であることを期待255、。あなたは私がすべての128×128ブロックの左上の四分の一を得る見ることができるように
: 結果がこれです。それは私が望んでいないものです。
入力したアルファベットの画像は、RGBAでも512x512でもない - RGBと674x554です。ヘルプが必要な場合は、正しい入力イメージを入力してください。 –
あなたの答えをありがとう、私はもう別のライブラリを使用して問題を解決し、もはや画像とコードを持っていません。悲しそうに私はこれが問題であることを確認できません。 – Jhonny007