STemWin 圖像錨點的理解 [1]

前言

  1. 學STemWin的時候將圖片寫到LCD屏幕上的時候遇到了圖像錨點這個概念,於是我就[黑人問號]了,根據網上搜集的資料來分析一下;
  2. 在不同的開發中,即使是同樣是說圖像錨點,但功能的實現和操作會有一定的區別,然而錨點的基本含義不變;本博文只討論STemWin開發;
  3. 如有錯誤,還請多多指教;

什麼是圖像錨點(the anchor point)

(1)首先它是個特殊的點。
(2)在座標系中,和給定座標點一起決定圖像位置。
(3)但它並不是座標系上的一個點;

https://blog.csdn.net/timwolee/article/details/9370917
https://blog.csdn.net/u012131827/article/details/25496847
根據這兩位博友的說法:
一個矩形圖像在座標系平面(屏幕)上的位置由兩個點——給定座標點錨點共同決定,所決定的是圖像起始座標 錨點就是圖片的原點;
給定座標點: 我們在屏幕上創建圖像時,往往會提供一個(x0,y0)作爲圖像的基準點這基準點在屏幕上是確定的(座標系中的確定點),但基礎準點並不一定是圖像上的一點;
錨點: 圖像的偏移量。以給定座標點爲基準點,最終決定圖像位置;
STemWin的屏幕座標系如圖:
在這裏插入圖片描述
注意:其實無論是哪種座標系,都不影響分析;
假設給定座標點爲:(X-position,Y-position),錨點爲(X-Anchor,Y-Anchor),圖像起始座標爲(X-Start,Y-Start);
則在STemWin中,圖像起始座標計算公式爲;
X-Start = X-position - X-Anchor;
Y-Start = Y-position - Y-Anchor;

例子:(X-position,Y-position)=(80,80);Image是40*80的一個圖像
在這裏插入圖片描述

應用

void GUI_DrawBitmapEx(const GUI_BITMAP * pBitmap,int x0, int y0,int xCenter, int yCenter,int xMag, int yMag);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章