图像按比例缩放的问题,求指点~~
我有一个比较大的图像数据在内存中(Height>4000 width>2000)。要在屏幕中输出就需要做个缩小。
我的代码:
//得到缩小比例 if(height > 850 || width>700) { for(int i=2;;i++) { if((height/i)<m_MaxHeight && (width/i)<700) { m_nums = i; break; } } } newHeight = height/m_nums; newWidth = width/m_nums;//开始缩小 k=0; int m_k=0; for(int i=0;i<newHeight;i++) { for(int j=0;j<newWidth;j++) { k = m_nums*i*width + m_nums*j;//width是原来的宽 DicomData = (*(Info+k*2))+(*(Info+k*2+1))*256; *(m_pSDlgDibBits+m_k) = (DicomData+winWidth/2-win)*256/winWidth;//赋值 m_k ++; } }