C#中Graphics的畫圖代碼【轉】


C#中Graphics的畫圖代碼【轉】

架上圖片了你就可以在畫板上塗改了啊

我要寫多幾個字上去
string str = "Baidu"; //寫什么字?
Font font = Font("宋體",30f); //字是什么樣子的?
Brush brush = Brushes.Red; //用紅色塗上我的字吧;
PointF point = new PointF(10f,10f); //從什么地方開始寫字捏?

//橫着寫還是豎着寫呢?
System.Drawing.StringFormat sf = new System.Drawing.StringFormat();
//還是豎着寫吧
sf.FormatFlags = StringFormatFlags.DirectionVertical

//開始寫咯
g.DrawString(str,font,brush,point,sf);

//寫好了,我要把我的作品收藏起來

image.Save("C:\\1.jpg");

——————————————————————————————————————————————

分割線哥哥

———————————————————————————————————————————————

System.Drawing.Graphics graphicsobj;

GraphicsObj = this.CreateGraphics();//e.Graphics在Form1_Paint中可以用
Pen myPen = new Pen(system.Drawing.Color.Red,5);

//x1,y1,x2,y2

GraphicsObj.DrawLine(myPen,20,20,200,210);//畫直線,斜線(x1,y1,x2,y2,起點橫縱坐標,終點橫縱坐標)

GraphicsObj.DrawRectangle(myPen,20,20,30,30);//畫矩形

GraphicsObj.DrawEllipse(myPen,20,20,50,50)//畫圓,橢圓

GraphicsObj.FillEllipse(myPen,20,20,50,50)//畫實心圓,實心橢圓

GraphicsObj.DrawPie(myPen,90,80,140,40,120,100); //畫餡餅圖形 //畫多邊形

myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;//虛線筆
GraphicsObj.DrawLine(myPen,10,60,100,60);
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;//點,短線風格的線
GraphicsObj.DrawLine(myPen, 10, 70, 100, 70);
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot;//雙點,短線風格的線
GraphicsObj.DrawLine(myPen, 10, 80, 100, 80);
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;//由點組成的線
GraphicsObj.DrawLine(myPen, 10, 90, 100, 90);
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;//實線筆


myPen.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;//后箭頭
GraphicsObj.DrawLine(myPen,150,50,250,50);

myPen.StartCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;//前箭頭
GraphicsObj.DrawLine(myPen,150,70,250,70);

myPen.EndCap = System.Drawing.Drawing2D.LineCap.RoundAnchor;//一條線,終點是圓點
GraphicsObj.DrawLine(myPen, 150, 90, 250, 90);

myPen.EndCap = System.Drawing.Drawing2D.LineCap.SquareAnchor;//一條線,終點是方點
GraphicsObj.DrawLine(myPen, 150, 110, 250, 110);
myPen.EndCap = System.Drawing.Drawing2D.LineCap.Triangle;//一條線,終點是三角形向后
GraphicsObj.DrawLine(myPen, 150, 130, 250, 130);
myPen.EndCap = System.Drawing.Drawing2D.LineCap.DiamondAnchor;//一條線,終點是菱形
GraphicsObj.DrawLine(myPen, 150, 150, 250, 150);

易一幅圖作橢圓的背景:

Image bgimage = new Bitmap("E:2065215396.jpg");
Brush brush = new TextureBrush(bgimage); //易一幅圖作橢圓的背景
g.FillEllipse(brush,50,50,500,300);

——————————————————————————————————————————————

華麗的分割線

——————————————————————————————————————————————

文本文檔的實現:

System.Drawing.Graphics graphicsobj;

GraphicsObj = this.CreateGraphics();

Font myFont=new System.Drawing.Font("Helvetica",30,Font Style.Italic);

Brush myBrush=new SolidBrush(System.Drawing.Color.Red);//畫刷

graphicsPbj.DrawString("Hello C#",myFont,myBrush,30,30);

———————————————————————————————————————————————

華麗的分割線妹妹

———————————————————————————————————————————————

graphics方法-屬性


名稱

說明


Clip 獲取或設置 Region,該對象限定此 Graphics 的繪圖區域。


ClipBounds 獲取一個 RectangleF 結構,該結構限定此 Graphics 的剪輯區域。


CompositingMode 獲取一個值,該值指定如何將合成圖像繪制到此 Graphics。


CompositingQuality

獲取或設置繪制到此 Graphics 的合成圖像的呈現質量。


DpiX 獲取此 Graphics 的水平分辨率。
DpiY 獲取此 Graphics 的垂直分辨率。


InterpolationMode 獲取或設置與此 Graphics 關聯的插補模式。


IsClipEmpty 獲取一個值,該值指示此 Graphics 的剪輯區域是否為空。


IsVisibleClipEmpty 獲取一個值,該值指示此 Graphics 的可見剪輯區域是否為空。


PageScale 獲取或設置此 Graphics 的全局單位和頁單位之間的比例。


PageUnit 獲取或設置用於此 Graphics 中的頁坐標的度量單位。


PixelOffsetMode 獲取或設置一個值,該值指定在呈現此 Graphics 的過程中像素如何偏移。


RenderingOrigin 為抵色處理和陰影畫筆獲取或設置此Graphics 的呈現原點。


SmoothingMode 獲取或設置此 Graphics 的呈現質量。


TextContrast 獲取或設置呈現文本的灰度校正值。


TextRenderingHint 獲取或設置與此 Graphics 關聯的文本的呈現模式。


Transform

獲取或設置此Graphics 的世界變換。


VisibleClipBounds 獲取此 Graphics 的可見剪輯區域的邊框。

 

graphics方法-方法


名稱

說明


AddMetafileComment

向當前 Metafile 添加注釋。


BeginContainer

保存具有此 Graphics 的當前狀態的圖形容器,然后打開並使用新的圖形容器。可重載。


Clear

清除整個繪圖面並以指定背景色填充。


CopyFromScreen

執行顏色數據從屏幕到 Graphics 的繪圖圖面的位塊傳輸。可重載。


CreateObjRef

創建一個對象,該對象包含生成用於與遠程對象進行通信的代理所需的全部相關信息。 (從 MarshalByRefObject 繼承。)


Dispose

釋放由Graphics使用的所有資源。


DrawArc

繪制一段弧線,它表示由一對坐標、寬度和高度指定的橢圓部分。可重載。


DrawBezier

繪制由4個Point 結構定義的貝塞爾樣條。可重載。


DrawBeziers

用 Point 結構數組繪制一系列貝塞爾樣條。可重載。


DrawClosedCurve

繪制由 Point 結構的數組定義的閉合基數樣條。可重載。


DrawCurve

繪制經過一組指定的 Point 結構的基數樣條。可重載。


DrawEllipse

繪制一個由邊框(該邊框由一對坐標、高度和寬度指定)定義的橢圓。可重載。


DrawIcon

在指定坐標處繪制由指定的 Icon 表示的圖像。可重載。


DrawIconUnstretched

繪制指定的 Icon 表示的圖像,而不縮放該圖像。


DrawImage

在指定位置並且按原始大小繪制指定的 Image。可重載。


DrawImageUnscaled

在由坐標對指定的位置,使用圖像的原始物理大小繪制指定的圖像。可重載。


DrawImageUnscaled AndClipped
在不進行縮放的情況下繪制指定的圖像,並在需要時剪輯該圖像以適合指定的矩形。


DrawLine

可重載。繪制一條連接由坐標對指定的兩個點的線條。


DrawLines

可重載。繪制一系列連接一組Point結構的線段。


DrawPath

繪制GraphicsPath。


DrawPie

可重載。繪制一個扇形,該形狀由一個坐標對、寬度、高度以及兩條射線所指定的橢圓定義。


DrawPolygon

可重載。繪制由一組 Point 結構定義的多邊形。


DrawRectangle

可重載。繪制由坐標對、寬度和高度指定的矩形。


DrawRectangles

繪制一系列由 Rectangle 結構指定的矩形。可重載。


DrawString

在指定位置並且用指定的Brush 和Font對象繪制指定的文本字符串。可重載。


EndContainer

關閉當前圖形容器,並將此Graphics的狀態還原到通過調用BeginContainer方法保存的狀態。


EnumerateMetafile

將指定Metafile中的記錄逐個發送到回調方法以在指定的點處顯示。可重載。


Equals

已重載。 確定兩個 Object 實例是否相等。 (從 Object 繼承。)


ExcludeClip

更新此Graphics的剪輯區域,以排除Rectangle結構所指定的區域。可重載。


FillClosedCurve

填充由 Point 結構數組定義的閉合基數樣條曲線的內部。可重載。


FillEllipse

填充邊框所定義的橢圓的內部,該邊框由一對坐標、一個寬度和一個高度指定。可重載。


FillPath

填充 GraphicsPath 的內部。


FillPie

填充由一對坐標、一個寬度、一個高度以及兩條射線指定的橢圓所定義的扇形區的內部。可重載。


FillPolygon

可重載。 填充 Point 結構指定的點數組所定義的多邊形的內部。


FillRectangle

填充由一對坐標、一個寬度和一個高度指定的矩形的內部。可重載。


FillRectangles

填充由 Rectangle 結構指定的一系列矩形的內部。可重載。


FillRegion

填充Region的內部。


Flush

強制執行所有掛起的圖形操作並立即返回而不等待操作完成。可重載。


FromHdc

從設備上下文的指定句柄創建新的Graphics。可重載。


FromHdcInternal

返回指定設備上下文的Graphics。


FromHwnd

從窗口的指定句柄創建新的Graphics。


FromHwndInternal

創建指定 Windows 句柄的新Graphics。


FromImage

從指定的Image創建新的Graphics。


GetHalftonePalette

獲取當前Windows的半色調調色板的句柄。


GetHashCode

用作特定類型的哈希函數。GetHashCode 適合在哈希算法和數據結構(如哈希表)中使用。 (從 Object 繼承。)


GetHdc

獲取與此Graphics關聯的設備上下文的句柄。


GetLifetimeService

檢索控制此實例的生存期策略的當前生存期服務對象。 (從 MarshalByRefObject 繼承。)


GetNearestColor

獲取與指定的Color結構最接近的顏色。


GetType

獲取當前實例的 Type。 (從 Object 繼承。)


InitializeLifetimeService 獲取控制此實例的生存期策略的生存期服務對象。 (從 MarshalByRefObject 繼承。)


IntersectClip

將此Graphics的剪輯區域更新為當前剪輯區域與指定 Rectangle 結構的交集。可重載。


IsVisible

指示由一對坐標指定的點是否包含在此 Graphics 的可見剪輯區域內。可重載。


MeasureCharacterRanges

獲取Region對象的數組,其中每個對象將字符位置的范圍限定在指定字符串內。


MeasureString
測量用指定的 Font 繪制的指定字符串。可重載。


MultiplyTransform

將此 Graphics 的世界變換乘以指定的 Matrix。可重載。


ReferenceEquals

確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承。)


ReleaseHdc

釋放通過以前對此 Graphics 的 GetHdc 方法的調用獲得的設備上下文句柄。可重載。


ReleaseHdcInternal

釋放設備上下文的句柄。


ResetClip

將此 Graphics 的剪輯區域重置為無限區域。


ResetTransform

將此 Graphics 的世界變換矩陣重置為單位矩陣。


Restore

將此 Graphics 的狀態還原到 GraphicsState 表示的狀態。


RotateTransform

將指定旋轉應用於此 Graphics 的變換矩陣。可重載。


Save

保存此 Graphics 的當前狀態,並用 GraphicsState 標識保存的狀態。


ScaleTransform

將指定的縮放操作應用於此 Graphics 的變換矩陣,方法是將該對象的變換矩陣左乘該縮放矩陣。可重載。


SetClip

將此 Graphics 的剪輯區域設置為指定 Graphics 的 Clip 屬性。可重載。


ToString

返回表示當前 Object 的 String。 (從 Object 繼承。)


TransformPoints

使用此 Graphics 的當前世界變換和頁變換,將點數組從一個坐標空間轉換到另一個坐標空間。可重載。


TranslateClip

將此 Graphics 的剪輯區域沿水平方向和垂直方向平移指定的量。可重載。


TranslateTransform

通過使此Graphics的變換矩陣左乘指定的平移來更改坐標系統的原點。可重載。

——————————————————————————————————————————————

分割線姐姐

——————————————————————————————————————————————

實例:將一個圖片覆蓋到另一個圖片(中心部分)上。

進入button_Click事件,寫入代碼:

 Image image = Image.FromFile(@"C:\Documents and Settings\Administrator\桌面\11.bmp");

{

 Bitmap oldBmp = new Bitmap(@"C:\Documents and Settings\Administrator\桌面\11.bmp");//背景圖片
                Bitmap bmp = new Bitmap(@"C:\Documents and Settings\Administrator\桌面\1氣管 鏡.jpg");//嵌入圖片
                Graphics grap = Graphics.FromImage(oldBmp);//得到背景圖片的畫布
                Rectangle oldRect = new Rectangle(90,80,302,228);//背景圖片需要被覆蓋的部分
                Rectangle newRect = new Rectangle(0,0,bmp.Width ,bmp.Height);//嵌入圖片需要被畫入的部分

                grap.DrawImage(bmp, oldRect, newRect, GraphicsUnit.Pixel);//在oldBmp中的oldRect畫bmp中的newRect部分
                pictureBox1.BackgroundImage =oldBmp ;
            }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM