ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

Visual C++ʵÏÖÊý×ÖͼÏñÔöÇ¿´¦Àí(ËÄ)
2012-11-03 14:46:02 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:775´Î
Tags£ºVisual ʵÏÖ Êý×Ö Í¼Ïñ ÔöÇ¿ ´¦Àí
¡¡¡¡3£®Í¼ÏñÈñ»¯

¡¡¡¡Í¼Ïñƽ»¬ÍùÍùʹͼÏñÖеı߽硢ÂÖÀª±äµÄÄ£ºý£¬ÎªÁ˼õÉÙÕâÀ಻ÀûЧ¹ûµÄÓ°Ï죬Õâ¾ÍÐèÒªÀûÓÃͼÏñä„»¯¼¼Êõ£¬Ê¹Í¼ÏñµÄ±ßÔµ±äµÄÇåÎú¡£Í¼ÏñäJ»¯´¦ÀíµÄÄ¿µÄÊÇΪÁËʹͼÏñµÄ±ßÔµ¡¢ÂÖÀªÏßÒÔ¼°Í¼ÏñµÄϸ½Ú±äµÄÇåÎú£¬¾­¹ýƽ»¬µÄͼÏñ±äµÃÄ£ºýµÄ¸ù±¾Ô­ÒòÊÇÒòΪͼÏñÊܵ½ÁËÆ½¾ù»ò»ý·ÖÔËË㣬Òò´Ë¿ÉÒÔ¶ÔÆä½øÐÐÄæÔËË㣨Èç΢·ÖÔËË㣩¾Í¿ÉÒÔʹͼÏñ±äµÄÇåÎú¡£´ÓƵÂÊÓòÀ´¿¼ÂÇ£¬Í¼ÏñÄ£ºýµÄʵÖÊÊÇÒòΪÆä¸ßƵ·ÖÁ¿±»Ë¥¼õ£¬Òò´Ë¿ÉÒÔÓøßͨÂ˲¨Æ÷À´Ê¹Í¼ÏñÇåÎú¡£

¡¡¡¡ÎªÁËÒª°ÑͼÏñÖмäÈκη½ÏòÉìÕ¹µÄµÄ±ßÔµºÍÂÖÀªÏß±äµÃÇåÎú£¬ÎÒÃÇÏ£Íû¶ÔͼÏñµÄijÖÖÔËËãÊǸ÷ÏòͬÐԵġ£¿ÉÒÔÖ¤Ã÷Æ«µ¼Æ½·½ºÍµÄÔËËãÊǸ÷ÏòͬÐԵģ¬¼È£º


¡¡¡¡Ê½ÖУ¨ £©ÊÇͼÏñÐýתǰµÄ×ø±ê£¬£¨ £©ÊÇͼÏñÐýתºóµÄ×ø±ê¡£ÌݶÈÔËËã¾ÍÊÇÔÚÕâ¸öʽ×ӵĻù´¡ÉÏ¿ª·½µÃµ½µÄ¡£Í¼Ïñ£¨x£¬y£©µãµÄÌݶÈÖµ£º


¡¡¡¡ÎªÁËÍ»³öÎïÌåµÄ±ßÔµ£¬³£³£²ÉÓÃÌݶÈÖµµÄ¸Ä½øËã·¨£¬½«Í¼Ïñ¸÷¸öµãµÄÌݶÈÖµÓëijһãÐÖµ×÷±È½Ï£¬Èç¹û´óÓÚãÐÖµ£¬¸ÃÏñËØµãµÄ»Ò¶ÈÓÃÌݶÈÖµ±íʾ£¬·ñÔòÓÃÒ»¸ö¹Ì¶¨µÄ»Ò¶ÈÖµ±íʾ¡£

¡¡¡¡ÎÒÃÇÔÚ¶ÔͼÏñÔöÇ¿µÄ¹ý³ÌÖУ¬²ÉÓõÄÊÇÒ»ÖÖ¼òµ¥µÄ¸ßƵÂ˲¨ÔöÇ¿·½·¨£º


¡¡¡¡Ê½ÖÐf£¬g·Ö±ðΪÈñ»¯Ç°ºóµÄͼÏñ£¬ ÊÇÓëÀ©É¢Ð§Ó¦ÓйصÄϵÊý¡£ ±íʾ¶ÔͼÏñf½øÐжþ´Î΢·ÖµÄÀ­ÆÕÀ­Ë¹Ëã×Ó¡£Õâ±íÃ÷²»Ä£ºýµÄͼÏñ¿ÉÒÔÓÉÄ£ºýµÄͼÏñ¼õÈ¥³ËÉÏϵÊýµÄÄ£ºýͼÏñÀ­ÆÕÀ­Ë¹Ëã×ÓÀ´µÃµ½¡£ ¿ÉÒÔÓÃÏÂÃæµÄÄ£°åH={{1£¬4£¬1}£¬{4£¬-20£¬4}£¬{1£¬4£¬1}}À´½üËÆ¡£ÔÚ¾ßÌåʵÏÖʱ£¬ÉÏÊöÄ£°åHÖеĸ÷¸öϵÊý¿ÉÒԸı䣬 Õâ¸öϵÊýµÄÑ¡ÔñÒ²ºÜÖØÒª£¬Ì«´óÁË»áʹͼÏñµÄÂÖÀª¹ý³å£¬Ì«Ð¡ÁËÔòͼÏñÈñ»¯²»Ã÷ÏÔ¡£ÊµÑé±íÃ÷£¬ ѡȡ2-8Ö®¼äÍùÍù¿ÉÒÔ´ïµ½±È½ÏÂúÒâµÄЧ¹û¡£ÏÂÃæ¸ø³ö µÈÓÚ4µÄÇé¿öϵÄʵÏÖ´úÂëºÍЧ¹ûͼ£º

void CDibView::OnMenuitem32785()
{
CClientDC pDC(this);
HDC hDC=pDC.GetSafeHdc();//»ñÈ¡µ±Ç°É豸ÉÏÏÂÎĵľä±ú£»
SetStretchBltMode(hDC,COLORONCOLOR);
CDibDoc *pDoc=GetDocument();
HDIB hdib;
hdib=pDoc->GetHDIB();
BITMAPINFOHEADER *lpDIBHdr;//λͼÐÅϢͷ½á¹¹Ö¸Õ룻
BYTE *lpDIBBits;//Ö¸ÏòλͼÏñËØ»Ò¶ÈÖµµÄÖ¸Õ룻
lpDIBHdr=( BITMAPINFOHEADER *)GlobalLock(hdib);//µÃµ½Í¼ÏñµÄλͼͷÐÅÏ¢ lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD);//»ñȡͼÏñÏñËØÖµ
BYTE* pData1;
static int a[3][3]={{1,4,1},{4,-20,4},{1,4,1}};//À­ÆÕÀ­Ë¹Ëã×ÓÄ£°å£»
int m,n,i,j,sum;
int Width=lpDIBHdr->biWidth;
int Height=lpDIBHdr->biHeight;
pData1=(BYTE*)new char[WIDTHBYTES(Width*8)*Height];
file://½øÐÐÀ­ÆÕÀ­Ë¹Â˲¨ÔËË㣻
for(i=1;i for(j=1;j {
sum=0;
for(m=-1;m<2;m++)
for(n=-1;n<2;n++) sum+=*(lpDIBBits+WIDTHBYTES(Width*8)*(i+m)+j+n)*a[1+m][1+n];
if(sum<0) sum=0;
if(sum>255) sum=255;
*(pData1+WIDTHBYTES(Width*8)*i+j)=sum;
}
file://ԭʼͼÏñpData¼õÈ¥À­ÆÕÀ­Ë¹Â˲¨´¦ÀíºóµÄͼÏñpData1
for(i=0;i for(j=0;j { sum=(int)(*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)-4*(*(pData1+WIDTHBYTES(Width*8)*i+j)));
if(sum<0) sum=0;
if(sum>255) sum=255;
*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)=sum;
}
StretchDIBits (hDC,0,0,lpDIBHdr->biWidth,lpDIBHdr->biHeight,0,0,
lpDIBHdr->biWidth,lpDIBHdr->biHeight,
lpDIBBits,(LPBITMAPINFO)lpDIBHdr,
DIB_RGB_COLORS,
SRCCOPY);
}


£¨a£©LENAԭͼ

£¨b£©À­ÆÕÀ­Ë¹Èñ»¯Í¼

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼ Îå

¡¡¡¡±¾ÎÄÖ÷Òª½²½âÁËͼÏñÖ±·½Í¼µÄ»ù±¾¸ÅÄîºÍͼÏñµã´¦ÀíÔËËãÖеÄÔöÇ¿¡¢Æ½»¬¡¢Èñ»¯¸ÅÄîºÍʵÏÖËã·¨£¬²¢¸ø´¦ÀíʵÏÖ´úÂëºÍ´¦ÀíЧ¹ûͼºÍ¹ã´ó¶ÁÕßÅóÓÑÃǽ»Á÷£¬Ï£Íû´ïµ½Å×שÒýÓñµÄ×÷Óá£



 
Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 ÏÂÒ»Ò³ βҳ 4/4/4
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºVisual C++ʵÏÖÊÓÆµÍ¼Ïñ´¦Àí¼¼Êõ ÏÂһƪ£ºVisual C++6.0¿ª·¢»Ò¶Èλͼ´¦Àí

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: