C#ÏÂʵÏÖË«»º³åÃè»¸ßÆµÇúÏß(GDI+½áºÏGDI)
ÓÉÓÚÏîÄ¿ÐèÒª,ҪʹÓÃc#Ãè»¸ßÆµÊµÊ±ÇúÏß.
µ«ÊÇÔÚC#ÏÂÓÉÓÚÃè»Í¼ÏñʹÓõÄÊÇGDI+,Ãè»Ð§ÂʺÜÓÐÎÊÌâ.Ò»µ©ÇúÏßÌ«¶à,¾Í»áÔì³ÉCPUʹÓÃÂÊÖ±ÏßÉÏÉý,ÂíÉÏìÉýµ½100%.
ÔÚGDI+ÏÂʹÓÃË«»º³åÒ²ÎÞ¼ÃÓÚÊÂ,Ë«»º³å±¾ÉíÖ»»á½â¾öÇúÏß¶àµÄʱºòÈ«ÆÁÉÁ˸ÎÊÌâ,µ«Ãè»Ð§ÂÊ»¹ÊÇÑÏÖØµÍÏÂ.
Æä¼äÓùý¶àÖÖ½â¾ö·½°¸:DRECT3D,DRIRECT2D,GDI,,,,,µÈµÈµÈµÈ
×îºó´ÓЧÂʳö·¢,×îÖÕ½â¾ö·½°¸ÈçÏÂ:
ǰ̨ÏÔʾʹÓÃGDI,¶øºǫ́Ãè»Ôò²ÉÓÃGDI+
ºǫ́²ÉÓÃ10±¶ÓÚǰ̨´°¿ÚµÄBUFFER,ÿ´ÎÏòÆäÖлһÌõÏß.È»ºóͨ¹ýÒ»¸öRECTÊÓ¿Ú,ÿ´ÎÏòǰ̨ÏÔʾÊÓ¿ÚÀïµÄÄÚÈÝ.·ñÔòÿ´ÎÖØ»æµÄ´ú¼ÛÌ«¸ß.
Õâ¸ö·½·¨ÊµÏÖµÄÄѵãÖ÷ÒªÔÚÓÚGDIºÍGDI+µÄ½áºÏ²¿·Ö,Ö÷Òª´úÂëÈçÏÂ:
1.º¯Êý¿â:using ºÍ WIN32APIº¯Êý
using System.Runtime.InteropServices;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Drawing.Text;
[DllImport("gdi32")]
public static extern IntPtr CreateCompatibleDC(IntPtr hdc);
[DllImport("gdi32")]
public static extern IntPtr SelectObject(IntPtr hdc, IntPtr hObject);
[DllImport("GDI32.dll")]
public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
[DllImport("GDI32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
2.ÉùÃ÷¶ÔÏó
public PictureBox _backgroundGraph;//±»Ã軵Ŀؼþ¶ÔÏó
//public Form _backgroundGraph;
public Graphics _backgroundGraphic = null; // ±³¾°Graphic
public Graphics _backgroundRenderGraphic = null; // Ë«»º³åGraphic
private Graphics _backgroundMemoryGraphic = null; // ÄÚ´æGraphic
public Graphics _backgroundDrawGraphic = null; // Ãè»Graphic
private Bitmap _backgroundMemoryBitmap = null; // ÄÚ´æBitmap
public BufferedGraphics _graphicsBuffer = null; // Ë«»º³åBufferedGraphics
private IntPtr _memoryGraphicHdc; // ÄÚ´æGraphicÊÊÓõÄÒýÓÃ
private IntPtr _memoryBitmapHdc; // ÄÚ´æBitmapÊÊÓõÄÒýÓÃ
3.³õʼ»¯¶ÔÏó
public void InitDraw()
{
_backgroundGraph = pictu
Ïà¹ØÎĵµ£º
±¾ÊéÊÇ΢Èí¼¼ÊõÅàѵͳ±à½Ì²ÄÖ®Ò»£¬¶Ô±à³ÌÓïÑÔC#½øÐÐÁËÏêϸµÄ½éÉÜ¡£ C#ÊÇ»ùÓÚ΢ÈíÏÂÒ»´ú²Ù×÷ƽ̨£®NETµÄȫеÄÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ¡£ËüÔÚ±£³ÖÁËC+ÖÐÊìϤµÄÓï·¨µÄͬʱ£¬Ìí¼ÓÁË´óÁ¿µÄ¸ßЧ´úÂëºÍÍêÈ«ÃæÏò¶ÔÏóÌØÐÔ£¬ÒÔ¼°¸ü¸ßµÄ¿É¿¿ÐԺͰ²È«ÐÔ¡£C#ÓïÑÔ½«ÔÚ±£³ÖC£¯C++Áé»îÐԵĻù´¡ÉÏΪ³ÌÐòÔ±´øÀ´¸ü¸ßЧµÄ¿ª·¢·½Ê½¡£Ëü²»½öÄÜÓÃÓ ......
´ÓContainerControlÀà¼Ì³ÐµÄ×ÓÀà×÷ΪÈÝÆ÷´°Ì壬¿ÉÒÔÈÝÄɳýFormÀà¶ÔÏóÍâµÄÆäÓà´°Ìå¶ÔÏó¡£
ÔÚËùÓÐÈÝÆ÷´°ÌåÄÚ£¬×î»ù±¾µÄ¾ÍÊǶ¥¼¶ÈÝÆ÷FormÀàÒÔ¼°Ãæ°åÈÝÆ÷PanelÀà¡£ÕâÁ½ÕßµÄÖ÷񻂿±ðΪ£ºÇ°Õß¾ßÓÐWindows±ê×¼¿ò¼Ü£¨±êÌâÀ¸£¬×î´ó»¯¡¢×îС»¯ºÍ¹Ø±Õ°´Å¥£¬´°Ìå±ß¿ò£¬¿Éµ÷Õû³ß´ç£©£¬²¢ÇÒ¿ÉÒÔ¶ÀÁ¢´æÔÚ£»ºóÕßÖ»ÊÇÒ»¿éÇøÓò£¬²¢ÇÒ±ØÐëÒÀ¸½ ......
¡¾ÆªÊ×Óï¡¿Æäʵ±¾ÎĽéÉܵķ½·¨ÊÇÒ»¸ö˼·£¬µ«ÊÇÎҸоõ°ÉÎÊÌâ¸ã¸´ÔÓÁË¡£ÀÏÍâµÄÕâ¸öC#µ÷ÓÃC++µÄdll·½Ê½Í¦ºÃµÄ£¬Ò²ºÜÎȶ¨£¬¿ÉÒÔ¿´¿´http://www.codeproject.com/KB/cs/DynamicInvokeCSharp.aspx¡£
Õª Òª£ºÔÚ¡¶csdn¿ª·¢¸ßÊÖ¡·2004ÄêµÚ03ÆÚÖеġ¶»¯¹¦´ó·¨ ——½«DLLǶÈëEXE¡·Ò»ÎÄ£¬½éÉÜÁËÈçºÎ°ÑÒ»¸ö¶¯Ì¬Á´½Ó¿â×÷Ϊһ¸ ......
µÚÒ»Õ ³ÌÐòÉè¼Æ
¡¡¡¡“ÒªÏë³ÉÎªÕæÕýµÄ³ÌÐòÔ±£¬ÎÒÃÇÐèÒª½øÐÐÒ»³¡Ï´Àñ¡£”
¡¡¡¡“³ÌÐò = Êý¾Ý½á¹¹ + Ëã·¨¡£”ÕâÑùµÄ¹«Ê½ºÜ¾«±Ù£¬ËüÔ½¹ýÁ˱í²ãÖ±½ÓÃèÊöÁ˳ÌÐòµÄ±¾ÖÊ¡£²»½öÈç´Ë£¬ÕâÑù¼¸¸ö¼òµ¥µÄµ¥´ÊÒ²ÈÃÎÒÃÇÃ÷°×“ÎÒÃÇÓ¦¸ÃѧϰʲôÄÚÈÝ£¿”¡£ÈËÃÇ×öÈκÎʶ¼ÓÐÒ»¶¨µÄ³ÌÐò£¬Ö»ÊÇûÓÐÒâʶµ½¡£Ó ......
IndexOf()
²éÕÒ×Ö´®ÖÐÖ¸¶¨×Ö·û»ò×Ö´®Ê״γöÏÖµÄλÖÃ,·µÊ×Ë÷ÒýÖµ£¬È磺
str1.IndexOf("×Ö")£» //²éÕÒ“×Ö”ÔÚstr1ÖеÄË÷ÒýÖµ£¨Î»Öã©
str1.IndexOf("×Ö´®")£»//²éÕÒ“×Ö´®”µÄµÚÒ»¸ö×Ö·ûÔÚstr1ÖеÄË÷ÒýÖµ£¨Î»Öã©
str1.IndexOf("×Ö",start,end)£»//´Óstr1µÚstart+1¸ö×Ö·ûÆð£¬²éÕÒend¸ö×Ö·û£¬²éÕ ......