[程式] DX9中的Texture資料另存方法 (已解決)
各位前輩好,小弟我最近在研究一個png圖檔的裁切
我把一張png圖我要的範圍取出來後,想把那個範圍內的顏色資訊給存下來
可是目前怎麼存都有點問題,所以想來請教一下,我存方式是不是有問題
下面是我的程式碼
D3DLOCKED_RECT locked_rect;
g_pTexture->LockRect(0, &locked_rect, NULL, 0); //鎖定
BYTE *target = (BYTE *)locked_rect.pBits;
RECT rect;
GetRect(.....); //取得我所需的範圍矩形
int i_NewWidth = rect.right - rect.left; //取出的範圍寬
int i_NewHeight= rect.bottom- rect.top; //取出的範圍高
int iCount = 0;
BYTE* by_rectImageData = new BYTE[i_NewWidth*i_NewHeight*4];//建立空間存資料
for(int y = rect.top; y<rect.bottom; y++)
{
for(int x = rect.left; x<rect.right; x++)
{
i_index = y*(locked_rect.Pitch/4)+x;
by_rectImageData[iCount++] = target[i_index];
}
}
g_pTexture->UnlockRect(0); //解除鎖定
請問我這樣做有什麼地方不對嗎??
我取得的值不是255就是0,麻煩各位幫幫忙,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.154.171
→
07/28 17:29, , 1F
07/28 17:29, 1F
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
86
147
471
1085
26
100