谢谢!
解决方案 »
- 通过串口实现AT指令的发送
- ▲▲▲菜鸟还来:使用skin++美化后,无法发布为Release版本▲▲▲
- OpengGL载入位图并创建纹理的问题
- 1000分,求一条“鱼”源码,请图像处理高手出击
- 扩展DLL怎样在初始化时显示一个窗体?
- 如何把"1.50.60"转换成015060的整数
- 聊天小程序的时候,什么时候用多线程?
- 九针串口。为什么我什么都没有接,启动龚建伟 的那个串口调试助手,,com1 和com2 都能用,而其他不能用?
- 如何手动使得某一个菜单项的某一个子项变灰(失去功能),或者隐藏?
- 各位大虾:二级代理怎么实现?
- “io操作正在进行中”,这个错误是怎么引起的,如何消除和避免?
- 得到视图指针后,如何写数据显示
{ CWaitCursor wait; if (!imgOriginal.IsIndexed()) { // the image does not use an indexed palette, so we will change each pixel to B&W (slow)
COLORREF pixel;
int maxY = imgOriginal.GetHeight(), maxX = imgOriginal.GetWidth();
byte r,g,b,avg;
for (int x=0; x<maxX; x++) {
for (int y=0; y<maxY; y++) {
pixel = imgOriginal.GetPixel(x,y);
r = GetRValue(pixel);
g = GetGValue(pixel);
b = GetBValue(pixel);
avg = ((r + g + b)/3);
imgOriginal.SetPixelRGB(x,y,avg,avg,avg);
}
} } else { // the image uses an indexed palette, so we will just change the palette table entries to
// their B&W equivalents
int MaxColors = imgOriginal.GetMaxColorTableEntries();
RGBQUAD* ColorTable;
ColorTable = new RGBQUAD[MaxColors]; imgOriginal.GetColorTable(0,MaxColors,ColorTable);
for (int i=0; i<MaxColors; i++)
{
int avg = (ColorTable[i].rgbBlue + ColorTable[i].rgbGreen + ColorTable[i].rgbRed)/3;
ColorTable[i].rgbBlue = (BYTE)avg;
ColorTable[i].rgbGreen = (BYTE)avg;
ColorTable[i].rgbRed = (BYTE)avg;
}
imgOriginal.SetColorTable(0,MaxColors,ColorTable);
delete(ColorTable);
} Invalidate();
UpdateWindow();
}