Point和PointF

Point和PointF

Point在GDI+的結構中是最簡單的,在數學上它完全等價于一個二維矢量,包含兩個公共整型屬性,表示它與某個特定位置的水平和垂直距離。例如,為了從點A到點B,需要水平移動11個單位,并向下垂直移動11個單位。在坐標圖中使用x和y,可以通過如下代碼創建一個Point結構來表示:

Point ab = new Point(11, 11);

Console.WriteLine("Moved {0} across, {1} down", ab.X, ab.Y);
其中,屬性X和Y都是可讀寫屬性,可以在Point中直接設置這些值,例如下面的代碼:

Point ab = new Point();

ab.X = 11;

ab.Y = 11;

Console.WriteLine("Moved {0} across, {1} down", ab.X, ab.Y);
按照慣例,水平和垂直坐標表示為小寫的x和y,但是對應的Point屬性是大寫的X和Y。這是因為在C#中,公共屬性的一般約定是名稱以大寫字母開頭。

PointF與Point完全相同,但X和Y屬性的類型是float,而不是int。PointF用于坐標不是整數值的情況。已經為這些結構定義了數據類型轉換,這樣就可以把Point隱式地轉換為 PointF。但是上述轉換沒有相應的逆過程,要把PointF轉換為Point,必須顯式地復制值,或使用下面的3個轉換方法,即Round()、Truncate()和Ceiling():

PointF mm = new PointF(20.5F, 10.9F);

Point nn = new Point();

nn.X = (int)mm.X;

nn.Y = (int)mm.Y;

Point ab1 = Point.Roundmm);

Point ab2 = Point.Truncate(mm);

Point ab3 = Point.Ceiling(mm);

PointF mm = nn;
在默認情況下,GDI+是以電腦屏幕上的像素作為單位的,Graphics對象方法把它們接收到的坐標看作其參數的方式。例如,點new Point(20,10)表示在屏幕上水平移動20個像素,向下垂直移動10個像素。通常這些像素從窗口客戶區域的左上角開始測量,如上面的示例所示。但是,情況并不總是如此。例如,在某些情況下,需要以窗口的左上角為原點來繪圖,甚至以屏幕的左上角為原點來繪圖。但在大多數情況下,除非文檔說明書說明,否則都可以假定像素值是相對于客戶區域的左上角的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453529.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453529.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453529.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開博第一篇,聊聊 最基本的 “==” 與 “===”區別

“”與“”都是比較左右兩個值是否相等,但它們的原理是不同的,特別要理解“”的比較。 “”是弱比較,如果左右兩邊的比較數類型不同,它們會轉換成相同類型,再進行比較,那么問題來了,它們是怎么進…

面向對象的故事~數據底層操作告訴了我們接口,抽象類,繼承與多態性的使用~續(TestBase繼承ITest是多余的?)...

在我上一篇文章發表后,收到了很多博友的回復,其中有一位博友提了一個問題,TestBase 繼承了ITest是多余的,我認為,我有必要再寫一篇文章來說明一下,TestBase為什么要繼承ITest,當然各位也可以再次發表自己的…

java樣式是什么_java css樣式 css樣式的種類 選擇器 文本相關樣式 背景相關樣式 邊框 盒子模式...

今日內容:? CSS樣式? CSS樣式的種類? 選擇器? 文本相關樣式? 背景相關樣式? 邊框? 盒子模式select標簽下拉列表標簽,常用于單選和多選,是一個組合標簽,需要和子標簽option一起搭配使用,不會獨占一行常用屬性:? name屬性:發送給服務器使用的? multiple屬性:不寫默認單選…

surfaceView和View區別

surfaceView和View最本質的區別在于: ---------------------------------------------------------------------------------------------------surfaceView是在一個新起的單獨線程中可以重新 繪制畫面,而View必須在UI的主線程中更新畫面。那么在UI的主線…

一個漂亮的輸出MySql數據庫表結構的PHP頁面

經常為了方便和直觀,我們會首先直接在數據庫中設計出表,但是接下來又要將表的結構和設計編寫在設計文檔中,以便編碼的時候可以直觀的查詢,一旦數據庫表非常多,字段非常多的時候,這無疑是件非常郁悶的工作。…

如何成就百萬點擊的名博

時近年底,去年我寫過《程序員過年——想想自己到底想干啥》,今年我想說說如何成就自己的百萬點擊技術博客。 在當下博客世界里,動輒過千萬甚至過億的博主并不少見,但談到程序員圈子里面,過百萬已算是不錯的成績。CSDN現…

mysql5.7主從復制遇到的坑

datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sockreplicate-do-dbshoppingbinlog-do-dbshopping #復制的庫server-id 3#skip-grant-tables 1symbolic-links0replicate-do-dbshop #需要復制的庫binlog-do-dbshop tmpdir /tmp #這個最好給個目錄 否則會報錯 &#xff0c…

JAVA讀取2g數據的速度_Java 讀取大容量excel

項目要求導入excel, 但是文件很大,一次性讀進去會導致內存不足而報錯,下面是我解決的方法:首先倒入需要的jarorg.apache.poipoi-ooxml3.17org.apache.poipoi-ooxml-schemas3.17org.apache.poipoi3.17com.monitorjblxlsx-streamer1…

String(byte[] bytes, int offset, int length)

public String(byte[] bytes, int offset, int length)通過使用平臺的默認字符集解碼指定的 byte 子數組,構造一個新的 String。參數: bytes:要解碼為字符的 byte offset: 要解碼的第一個 byte 的索引 length: 要解碼的…

java 屬于以下哪種語言_Java屬于以下哪種語言?( )

對于寶來(Bora2004)轎車EPS系統,屬于當轉向扭矩傳感器G269發生故障時,只需單獨更換轉向扭矩傳感器就行了。一般說來,下語可以根據下列因素判斷趨勢線的有效性 ( )。關于股價的移動規律,屬于下列論述不正確的是( )。如果希望預測未…

logback 配置

logback 的使用說明 1、maven 依賴配置 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><logback.version>1.1.7</logback.version><slf4j.version>1.7.21</slf4j.version></properties><…

android 的各種文件類

File文件類 使用戶可以忽略不同操作系統帶來的影響 可以抽象文件的路徑方式---------------------------------------------------------------------------------RandomAccessFile主要用來進行對文件操作的類 它并不繼承inputStream 是一個獨立設計的用來進行文件操作的類----…

C#設計模式(19)——狀態者模式(State Pattern)

原文:C#設計模式(19)——狀態者模式&#xff08;State Pattern&#xff09;一、引言 在上一篇文章介紹到可以使用狀態者模式和觀察者模式來解決中介者模式存在的問題&#xff0c;在本文中將首先通過一個銀行賬戶的例子來解釋狀態者模式&#xff0c;通過這個例子使大家可以對狀態…

OLTP與OLAP

當今的數據處理大致可以分成兩大類&#xff1a;聯機事務處理OLTP&#xff08;on-line transaction processing&#xff09;、聯機分析處理OLAP&#xff08;On-Line Analytical Processing&#xff09;。OLTP是傳統的關系型數據庫的主要應用&#xff0c;主要是基本的、日常的事務…

揭秘IT人才特點:中美印日四國程序員比較

揭秘IT人才特點&#xff1a;中美印日四國程序員比較 最近以裁判的身份參加了公司舉辦的編程大賽&#xff0c;發現高手云集&#xff0c;對公司內部的程序員能力也有了更深入的了解。我覺得編程能力對程序員而言&#xff0c;雖然很重要&#xff0c;但并不是全部。那么作為一個程…

BaseColumns類的作用

這個類只是提供了兩個字段&#xff0c;一個是"_id"一個是"_count"&#xff0c;便于調用數據庫時導致拼寫錯誤&#xff0c;你也可以擴展它&#xff0c;或者自定義這么個&#xff0c;然后直接調用它的常量名&#xff0c;防止寫sql語句時把列名拼錯 /** Copyr…

java如何限制輸入值_[限制input輸入類型]常用限制input方法

常用限制input的方法1.取消按鈕按下時的虛線框,在input里添加屬性值 hideFocus 或者 HideFocustrueinput type"submit" value"提交" hidefocus"true"2.只讀文本框內容,在input里添加屬性值 readonlyinput type"text" readonly3.防止退…

如何規范 CSS 的命名和書寫

我開始學前端的時候也是對于規范問題頭疼&#xff0c;后來看了網易的NEC規范&#xff0c;驚呼牛逼 NEC : 更好的CSS樣式解決方案 只遵循橫向順序即可&#xff0c;先顯示定位布局類屬性&#xff0c;后盒模型等自身屬性&#xff0c;最后是文本類及修飾類屬性。 →顯示屬性自身屬性…

app性能測試指標

性能測試在軟件的質量保證中起著重要的作用&#xff0c;它包括的測試內容豐富多樣。中國軟件評測中心將性能測試概括為三個方面&#xff1a;應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下&#xff0c;三方面有效、合理的結合&#xf…

《學做程序經理》完整版

文/Joel Spolsky 譯/羅小平 指派一名優秀的程序經理&#xff0c;是團隊產出優秀軟件的重要前提之一。你的團隊里可能沒有這樣的人&#xff0c;其實絕大多數團隊都沒有。 Charles Simonyi&#xff0c;這位曾與MarthaStewart&#xff08;譯者注&#xff1a;美國女富豪&#…