初めましてです
現在、画像ファイルからメモリへの読み込みを試行錯誤しているんですが、
分割してすでに読み込んだ画像を、さらに分割して読み込むことは可能でしょうか?
具体的には縦に三分割した画像の二番目だけを横に二分割したいのですが、
何か良い手段はないのでしょうか?
C言語初心者なもので、どなたかご指導の方をお願いします
無題
Re:無題
画像の大きさが分かっているなら、
DerivationGraph()で指定範囲を新たなグラフィックとして生成できます。
具体的には以下の関数で実装できるかと。
本家のLoadDivGraphもどきです。ただ、戻り値なしにしているので、よくないです。。
本家はエラーが返ってくる(-1)っとなっていますが、
・エラーが出た際、今までに確保したハンドルがどうなるか
っというのが自分はよくわからなかったため、実装してません。
また、画像の大きさを超えた領域を読み込もうとすると危ないです。
XSize*XNum=基になる画像ハンドルの画像のWIDTH
YSize*YNum=基になる画像ハンドルの画像のHEIGHT
になるようにしてください。
余裕があったらこの未実装のあたりを実装してみてください。
const int s_Handleは元になるハンドル
int *HandleBufは新たに分割したハンドルを記憶するハンドルの先頭のアドレス(配列)
です。
DerivationGraph()で指定範囲を新たなグラフィックとして生成できます。
具体的には以下の関数で実装できるかと。
void LoadDivGraphToHandle(const int s_Handle,int AllNum ,int XNum , int YNum ,int XSize , int YSize , int *HandleBuf ) { int pointX=0; int pointY=0; for(int i=0 ; i<AllNum ; ++i) { HandleBuf=DerivationGraph(pointX,pointY,XSize,YSize,s_Handle); if(!((i+1)%XNum)) { pointX=0; pointY+=YSize; } else pointX+=XSize; } }
本家のLoadDivGraphもどきです。ただ、戻り値なしにしているので、よくないです。。
本家はエラーが返ってくる(-1)っとなっていますが、
・エラーが出た際、今までに確保したハンドルがどうなるか
っというのが自分はよくわからなかったため、実装してません。
また、画像の大きさを超えた領域を読み込もうとすると危ないです。
XSize*XNum=基になる画像ハンドルの画像のWIDTH
YSize*YNum=基になる画像ハンドルの画像のHEIGHT
になるようにしてください。
余裕があったらこの未実装のあたりを実装してみてください。
const int s_Handleは元になるハンドル
int *HandleBufは新たに分割したハンドルを記憶するハンドルの先頭のアドレス(配列)
です。