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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章