[英]How to get displayed Image dimensions of an Image scaled to fit a PictureBox
[英]How do I get the dimensions of the ImageRectangle in PictureBox?
背景
我希望能夠在圖片框中獲得縮放圖像的繪制尺寸(我將在下面解釋)。
PictureBox.ImageRectangle
屬性似乎正是我正在尋找的,因為它顯示了已調整大小的圖像的高度和寬度,以及它在控件內的相對頂部,左側位置。
問題是PictureBox.ImageRectangle
是私有的,所以我不能在不使用反射的情況下讀取值(這顯然不是理想的)。
實際問題
我的問題是,有沒有另一種方法,我可以很容易地得到這些值,而無需編寫一個方法來計算“應該”的值是什么? 我可以輕松地做到這一點,但我覺得我會重新發明輪子。
語境:
我正在用C#編寫一個簡單的圖像處理應用程序,其中一件事就是允許用戶在圖像的一部分周圍繪制一個選區(很像Photoshop中的Marquee工具)。
我需要知道渲染圖像的尺寸,以便知道在哪里設置選框工具的邊界,並將繪制的矩形的值轉換為控件內縮放位圖上的點。
我的回答看起來很簡單,也許我錯過了一些東西,但我認為Control.DisplayRectangle非常適合你的需要。
編輯
好的,錯過了重點; 但是看看如何獲得picturebox的非公開成員的價值?
如果你想訪問圖片框中的圖像尺寸,你可以使用
GraphicsUnit units = GraphicsUnit.Point;
RectangleF imgRectangleF = pictureBox1.Image.GetBounds(ref units);
Rectangle imgRectangle = Rectangle.Round(imgRectangleF);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.