溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Graphics 和 Matrix 使用注意

發(fā)布時間:2020-07-15 19:36:03 來源:網(wǎng)絡 閱讀:516 作者:VOLVO之悅 欄目:編程語言

Graphics 可以進行畫圖,Matrix 可以對畫布內(nèi)容進行變換

Font font = new Font("宋體", 1F);
//檢測字符串大小
SizeF sizeF = CreateGraphics().MeasureString("abc", font);
//displayWidth為實際顯示寬度,通過此方式將字體變大
float disX =(float)(displayWidth / sizeF.Width);
float disY = (float)(displayHeight / sizeF.Height);
 
Matrix matrix = new Matrix();
//對畫布內(nèi)容進行放大
matrix.Scale(disX, disY);
//這里用在panel上生成一個畫布
Graphics g = this.drawingPanel.CreateGraphics();
g.Transform = matrix;
//這里是畫布的顯示位置,這里注意x,y的位置是相對于panel左上角的,且注意在進行Matrix 變換后,
//1像素的單位已經(jīng)放大為disX,所以這里要除以 disX 求得實際像素距離
float x = (float)locationX / disX;
float y = (float)locationY / disY;
//
g.DrawString("abc", font, color, new RectangleF(x, y, (float)displayWidth, (float)displayHeight));


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI