|
阅读:1277回复:1
vc+++AO关于写栅格值的问题,代码负上,谢谢!
<P>弄了几天了,关于写这个栅格时,值老是写不到栅格中去,不知道是什么地方出了问题!</P>
<P>望各位高手指教!是传值出了问题,还是?谢谢~着急中~斑竹加我QQ以后好请教,我以后专业做这个~和和26935562</P> <P>注意红色部分,看问题是不是在那啊?</P> <P>代码:</P> <P>//=**********************************************************************************************<BR>//写栅格单元(插值)<BR>//=**********************************************************************************************</P> <P> int m_index;<BR> <BR> //Create a pixel block for the pixels that need to write<BR> IPixelBlockPtr pPixelBlock; <BR> //Size<BR> IPntPtr pSize(CLSID_DblPnt); <BR> pSize->SetCoords(10, 10);<BR> IPntPtr ipPnt(CLSID_DblPnt); </P> <P> pnewRaster->CreatePixelBlock (pSize,;pPixelBlock);</P> <P> pSize =NULL;</P> <P> //给最终写栅格数组初始化<BR> VARIANT V;<BR> <BR> ::VariantInit (;V);<BR> <BR> SAFEARRAY *psa;<BR> SAFEARRAYBOUND rgsabound[2];<BR> rgsabound[0].cElements = 10;<BR> rgsabound[0].lLbound = 0;<BR> rgsabound[1].cElements = 10;<BR> rgsabound[1].lLbound = 0;<BR> <BR> psa = SafeArrayCreate(VT_UI4,2,rgsabound);</P> <P> PINT VARRAY;<BR> SafeArrayAccessData(psa,(void**);VARRAY); </P> <P> for(c=0;c<10;c++)<BR> {<BR> for(r=0;r<10;r++)<BR> {<BR><FONT color=#ff3300> m_index = c*10 + r; <BR> VARRAY[m_index] =m_index;</FONT><BR> }<BR> }<BR> V.vt =VT_ARRAY |VT_UI4;<BR> V.parray =psa;<BR> SafeArrayUnaccessData(psa); <BR> <BR> pPixelBlock->put_SafeArray(0,V) ;</P> <P> IRasterEditPtr pRasterEdit; <BR> <BR> pRasterEdit =pnewRaster;</P> <P> ipPnt->SetCoords(0,0);</P> <P> pRasterEdit->Write( ipPnt, pPixelBlock);</P> <P> //ipRawPixel->Write(pPnt, pPixelBlock);<BR> SafeArrayDestroy(psa);<BR> <BR> pPixelBlock = NULL;<BR> ipPnt = NULL;<BR> pnewRaster = NULL;<BR> pRasterEdit =NULL;<BR> <BR> pRasterWorkspace2 = NULL;<BR> pSaveWorkspacefactor = NULL;<BR> pSaveWorkspace =NULL;<BR> ::VariantClear (;V);</P> |
|
|
1楼#
发布于:2008-10-16 13:02
<P>试问 普天下没人能给我解决吗?</P>
|
|