ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>³ÌÐòÉè¼Æ>C/C++>Áбí

»ùÓÚWindowsGDI µÄ¼¸ºÎÏßÌõ´¦Àí

À´Ô´£º»¥ÁªÍø ×÷ÕߣºÎ÷²¿ÊýÂë ʱ¼ä£º2008-04-09
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!
¡¡¡¡ÕªÒª ½éÉÜÁËGDI ¶Ô¼¸ºÎÏßÌõ´´½¨¡¢Ó¦ÓõȻù±¾·½·¨£¬²¢ÒÔʵÀýµÄ·½Ê½¶ÔÆäÖÐÄÑÓÚÀí½âµÄ²¿·ÖÌṩÁËʾÀý´úÂ룬ʵÏÖÁËÔ­ÏÈGDI²»Ò×ʵÏֵŦÄÜ£¬²¢Îª½øÒ»²½ÀûÓÃGDI ½øÐиü¸´ÔÓµÄͼÐδ¦Àíµì¶¨ÁËÁ¼ºÃµÄ»ù´¡¡£

¡¡¡¡¹Ø¼ü´Ê GDI £»¼¸ºÎÏßÌõ

¡¡¡¡ÒýÑÔ

¡¡¡¡GDI ÊÇÔ­Windows GDIµÄÀ©Õ¹£¬Ôö¼ÓÁËй¦Äܲ¢¶ÔÔ­¹¦ÄÜÄ£¿é½øÐÐÁËÓÅ»¯£¬Ê¹±à³ÌÈËÔ±¸üÒ×ʵÏÖ¶àÖָ߼¶¹¦ÄÜ¡£ÒòGDI µÄÇ¿´ó¹¦Äܼ°ÆäÍêÃÀµÄÐÔÄÜ£¬Î¢Èí³«µ¼ÐÂÓ¦ÓóÌÐòµÄ¿ª·¢»ùÓÚGDI ½øÐС£

¡¡¡¡Ëùν·¾¶£¬ÊÇÖ¸¿ÉÒÔ±»Ìî³äµÄ¡¢»­³öÂÖÀª»òͬʱ±»»­³öÂÖÀª²¢Ìî³äµÄÒ»¸ö»ò¶à¸öͼÐΡ£Â·¾¶µÄÒýÈ룬´ó´óµØ·á¸»ÁËWindowsµÄͼÐι¦ÄÜ£¬Ê¹µÃÓ¦ÓóÌÐò¿ÉÒÔ·½±ãµØ½¨Á¢¸´ÔÓÇøÓò£¬»æÖƺÍÌî³ä²»¹æÔòͼÐΡ£

¡¡¡¡Â·¾¶Ò»°ãÓÉÒÔÏÂÔªËØ×é³É£ºÖ±Ïß¡¢¾ØÐΡ¢ÍÖÔ²¡¢Ô²»¡¡¢¶à±ßÐΡ¢Èý´ÎÑùÌõºÍ±´Èû¶ûÇúÏß¡£ÔÚGDI ÖУ¬¼¸ºÎÏßÌõµÄ´¦ÀíÖ÷ÒªÊÇͨ¹ýµ÷ÓÃͼÐη¾¶£¨GraphicsPath£©µÄ·½·¨À´ÊµÏֵġ£Ê¹ÓÃGraphicsPath¶ÔÏó¿ÉÒÔ½«ÕâÐ©ÔªËØÊÕ¼¯µ½Ò»¸öµ¥ÔªÖС£ÒÔºóÖ»Ðèµ÷ÓÃGraphicsÀàµÄDrawPath·½·¨£¬¾Í¿ÉÒÔÒ»´Î»æÖƳö¸Ã¶ÔÏóÊÕ¼¯µÄÈ«²¿ÔªËØÐòÁС£

¡¡¡¡±à³Ì·½·¨ÓëʵÀý

¡¡¡¡1¡¢×¼±¸¹¤×÷

¡¡¡¡Ê¹ÓÃGDI ±à³Ì£¬±ØÐë°üº¬gdiplus.hÍ·Îļþ£¬ÒªÊ¹ÓÃGdiplusÃû³Æ¿Õ¼ä£¬Á¬½ÓʱÐèÒªGdiplus.lib¡£Ê¹ÓÃGDI »æÖƶÔÏóʱÐèÒª»ñȡһ¸öÉ豸ÃèÊö±í¾ä±ú£¬°ÑËü×÷Ϊ²ÎÊý´«µÝ¸øGraphicsµÄ¹¹Ô캯Êý£¬ÕâÑù¾Í¿ÉÒÔʹÓÃGraphics¶ÔÏóµÄ¿âº¯ÊýÁË¡£

¡¡¡¡Ê¹ÓÃGDI ±à³Ì±ØÐëÔÚ´´½¨GDI ¶ÔÏóǰִÐÐGdiplusStartupʵÏÖ³õʼ»¯£¬ÔÚ³ÌÐò½áÊøÊ±µ÷ÓÃGdiplusShutdown¹Ø±ÕGDI ¹¦ÄÜ£¬ÇåÀíÕ¼ÓõÄ×ÊÔ´¡£Á½×麯ÊýÒª³É¶Ôµ÷Óá£

¡¡¡¡Ê¾Àý´úÂëÈçÏÂËùʾ£º

//---------------------------ÔÚstdafx.hÎļþÖÐ-----------------------------------//
#include "Gdiplus.h"
using namespace Gdiplus ;
#pragma comment (lib, "Gdiplus.lib")
//----------------------ÔÚÓ¦ÓóÌÐòÀàµÄInitInstanceº¯ÊýÖÐ-----------------------//
GdiplusStartupInput gdiplusStartupInput ;
GdiplusStartup (&m_GdiplusToken, &gdiplusStartupInput, NULL) ;
//-----------------------ÔÚÓ¦ÓóÌÐòÀàµÄExitInstanceº¯ÊýÖÐ---------------------//
GdiplusShutdown (m_GdiplusToken) ;
¡¡¡¡×¢£ºÆäÖбäÁ¿m_GdiplusTokenÓ¦¸ÃÊÇULONG_PTRÀàÐ͵ÄÈ«¾Ö±äÁ¿£¬»òÕßÊÇÓ¦ÓóÌÐòÀàµÄ³ÉÔ±±äÁ¿

¡¡¡¡2¡¢Â·¾¶µÄ´´½¨

¡¡¡¡GraphicsPathÀàÌṩÁËÐí¶à´´½¨Â·¾¶ÔªËصĽӿڣºAddArc£¨Ô²»¡£©¡¢AddBezier£¨±´Èû¶ûÇúÏߣ©¡¢AddBeziers£¨±´Èû¶ûÇúÏßÐòÁУ©¡¢AddClosedCurve£¨±ÕºÏµÄ»ùÊýÑùÌõÇúÏߣ©¡¢AddCurve£¨»ùÊýÑùÌõÇúÏߣ©¡¢AddEllipse£¨ÍÖÔ²£©¡¢AddLine£¨Ö±Ï߶Σ©¡¢AddLines£¨Ö±Ïß¶ÎÐòÁУ©¡¢AddPie£¨ÉÈÐΣ©¡¢AddPolygon£¨¶à±ßÐΣ©¡¢AddRectangle£¨¾ØÐΣ©¡¢AddRectangles£¨¾ØÐÎÐòÁУ©ºÍAddString£¨×Ö·û´®ÂÖÀªÂ·¾¶£©¡£


ͼ1 MSDNÖÐÌṩµÄ·¾¶µÄÀý×Ó

¡¡¡¡3¡¢×Ó·¾¶µÄÌí¼ÓºÍÌáÈ¡

¡¡¡¡GraphicsPath»¹¿ÉÒÔ°üº¬¶à¸öͼÐΣ¬ÆäÖÐÿһ¸öͼÐα»³ÆÎª×Ó·¾¶£¨figures£©¡£Èç¹ûÔÚGraphicsPath¶ÔÏóÖÐʹÓÃÁËStartFigure»òCloseFigureº¯Êý£¬ÔÚÕâÁ½¸öÖ®ºó¶Ô·¾¶ËùÌí¼ÓµÄÏßÌõ¶¼½«¹¹³ÉÒ»¸öµÄ×Ó·¾¶¡£[5]ÕâÁ½¸öº¯ÊýµÄÇø±ðÊÇ£¬StartFigure·½·¨²»±ÕºÏµ±Ç°Í¼Ðμ´¿ªÊ¼Ò»¸öÐÂͼÐΣ¬¶øCloseFigure·½·¨±ÕºÏµ±Ç°Í¼Ðβ¢¿ªÊ¼ÐµÄͼÐΡ£

¡¡¡¡ÏÂÃæÁ½¶ÎʾÀý´úÂëÔÚ·¾¶ÖÐÌí¼ÓÁËÁ½¸öÌõ·¾¶£¬Ç°Ò»Ìõ×Ó·¾¶ÓÉÁ½ÌõÖ±Ïß¶Î×é³É£¬ºóÒ»Ìõ×Ó·¾¶ÊÇÒ»¸öÔ²ÐΡ£Á½¶Î´úÂ벻ͬµÄµØ·½½ö½öÔÚÓÚStartFigureºÍCloseFigureº¯ÊýµÄʹÓã¬Òò¶øËüÃǵÄЧ¹ûÒ²²»Ïàͬ£¬Èçͼ2ºÍͼ3Ëùʾ¡£

//ʾÀý´úÂë1----ʹÓÃStartFigure
GraphicsPath path;
path.AddLine(100,100,100,150);
path.AddLine(100,150,150,150);
path.StartFigure();
path.AddEllipse(75,75,50,50);
Graphics g(hdc);
g.DrawPath(&Pen(Color::Black,1),&path);
//ʾÀý´úÂë2----ʹÓÃCloseFigure
GraphicsPath path;
path.AddLine(100,100,100,150);
path.AddLine(100,150,150,150);
path.CloseFigure();
path.AddEllipse(75,75,50,50);
Graphics g(hdc);
g.DrawPath(&Pen(Color::Black,1),&path);

ͼ2¡¡StartFigureЧ¹û

ͼ3¡¡CloseFigureЧ¹û


¡¡¡¡GDI µÄGraphicsPathIteratorÀàÍê³ÉÁ˶Ô·¾¶µÄÒ»¸ö»ò¶à¸ö×Ó·¾¶µÄÃèÊö¡¢¹ÜÀí¡¢²âÊԵȹ¦ÄÜ¡£GraphicsPathIteratorÄܹ»´Ó¸ø¶¨µÄ·¾¶ÖнøÐжàÖÖÓë×Ó·¾¶Ïà¹ØµÄ²Ù×÷¡£

¡¡¡¡±í1¡¡GraphicsPathIteratorÀà³£ÓóÉÔ±º¯Êý

³£ÓóÉÔ±º¯Êý ¹¦ÄÜÃèÊö HasCurve ָʾÓë´ËGraphicsPathIterator¶ÔÏó¹ØÁªµÄ·¾¶ÊÇ·ñ°üº¬ÇúÏß NextSubpath ½«´Ë×Ó·¾¶ÒƵ½Ö¸¶¨µÄGraphicsPath¶ÔÏóÖеÄÏÂÒ»×Ó·¾¶ Rewind ½«´ËGraphicsPathIterator¶ÔÏóÖØÈÆµ½Æä¹ØÁªÂ·¾¶µÄÆðʼ´¦ GetSubpathCount »ñȡ·¾¶ÖÐ×Ó·¾¶µÄÊýÄ¿
¡¡¡¡4¡¢Â·¾¶µÄ¼¸ºÎ±äÐÎ

¡¡¡¡GDI ÌṩµÄMatrixÀà·â×°±íʾ¼¸ºÎ±äÐεÄ3¡Á3·ÂÉ侨Õó¡£Í¨¹ýÉèÖÃMatrix¶ÔÏ󣬿ÉÒÔÐýת¡¢Ëõ·Å¡¢´íÇлòÆ½ÒÆGraphicsPath¶ÔÏó¡£

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

ÈÈµã¹Ø×¢
IDC×ÊѶ ÐéÄâÖ÷»ú ÓòÃû×¢²á ÍйÜ×âÓà vpsÖ÷»ú ÖÇÄܽ¨Õ¾
ÍøÕ¾ÔËÓª ½¨Õ¾¾­Ñé ²ß»®Ó¯Àû ËÑË÷ÓÅ»¯ ÍøÕ¾ÍÆ¹ã Ãâ·Ñ×ÊÔ´
ÍøÕ¾ÁªÃË ÁªÃËÐÂÎÅ ÁªÃ˽éÉÜ ÁªÃ˵ãÆÀ Íø×¬¼¼ÇÉ
ÐÐÒµ×ÊѶ Òµ½ç¶¯Ì¬ ËÑË÷ÒýÇæ ÍøÂçÓÎÏ· ÃÅ»§¶¯Ì¬ µç×ÓÉÌÎñ ¹ã¸æ´«Ã½
ÍøÂç±à³Ì Asp.Net±à³Ì Asp±à³Ì Php±à³Ì Xml±à³Ì Access Mssql Mysql ÆäËü
·þÎñÆ÷¼¼Êõ Web·þÎñÆ÷ Ftp·þÎñÆ÷ Mail·þÎñÆ÷ Dns·þÎñÆ÷ °²È«·À»¤
Èí¼þ¼¼ÇÉ ÆäËüÈí¼þ Word Excel Powerpoint Ghost Vista QQ¿Õ¼ä QQ FlashGet ѸÀ× Internet Explorer
ÍøÒ³ÖÆ×÷ FrontPages Dreamweaver Javascript css photoshop fireworks Flash
³ÌÐòÉè¼Æ Java¼¼Êõ C/C++ VB delphi
ÍøÂç֪ʶ ÍøÂçЭÒé ÍøÂ簲ȫ ÍøÂç¹ÜÀí ×éÍø·½°¸ Cisco¼¼Êõ
²Ù×÷ϵͳ Win2000 WinXP Win2003 Mac OS Linux FreeBSD
·µ»ØÊ×Ò³ |¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ¸¶¿î·½Ê½ | ´´ÒµÁªÃË | ¼Û¸ñ×ÜÀÀ | ×ÊѶÖÐÐÄ | ÓÑÇéÁ´½Ó | ÍøÕ¾µØÍ¼ | ÕÐÏÍÄÉÊ¿ | RSS