画像ファイルにテクスチャを群として保存しておき、その1部分をモデルのテクスチャとして使いたいのですが、
DxLib::GetDrawScreenGraph関数の要件である画像サイズをそろえているにもかかわらず、この関数でエラーが出てしまいます。
以下に実行しているコードを記述します。
const int DefGraphID = pGraphData.GetDataHandle(l_pNowDivGraphData->GraphicHandle);
const int CutPos[] = {
l_pNowDivGraphData->BeginPos.first,
l_pNowDivGraphData->BeginPos.second,
l_pNowDivGraphData->DivSize.first ,
l_pNowDivGraphData->DivSize.second
};
/* 分割描画処理 */{
SetTextureGraphID = DxLib::MakeGraph(CutPos[2],CutPos[3]);
// 描画対象を画像データセットに変更
DxLib::SetDrawScreen(DefGraphID);
// 描画対象スクリーンから指定範囲のグラフィックを読み込む
int a=DxLib::GetDrawScreenGraph(CutPos[0],CutPos[1],CutPos[0]+CutPos[2],CutPos[1]+CutPos[3],SetTextureGraphID);
m_LastUseGraphHandle.push_back(SetTextureGraphID); // 別系統の処理で使用(今回の件では関係なし)
// 描画対象を元に戻す
DxLib::SetDrawScreen(DX_SCREEN_BACK);
}
DefGraphID:元の大きな画像データ(デバッグにより読み込みに成功していることを確認済み)
CutPos[]:切り出しデータ[左上x/左上y/大きさx/大きさy]
SetTextureGraphID:テクスチャとして使用する画像のハンドル
という感じです。ちなみにaは出力確認用で-1(エラー)が返ってきています。
若干お手上げになりつつあるのでもし対策が思いつく方がいましたら意見をください。よろしくお願いします。