FireMoneky 画图 Point 赋值
VCL 的 Canvas.Pen 对应FMX: Canvas.Stroke;
VCL到 Canvas.Brush 对应FMX: Canvas.Fill.
TCircle 圆形控件
Inkscape 0.91
https://inkscape.org/en/download/windows/
点坐标的处理
PointF(150, 150)
TPointF.Create(300, 340);
LLayout.TopLeft := TPointF.Zero;
Position := Rect.TopLeft;
Position := Point(Rect.Right, Rect.Top);
MakeColor(r,g,b)
线条宽度
Canvas.Stroke.Thickness := 10;
Canvas.Stroke.Kind := TBrushKind.Solid;
直线
procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
begin
Canvas.Stroke.Color := TAlphaColorRec.Green;
Self.Canvas.DrawLine(TPointF.Create(, ), TPointF.Create(, ), );
end;
画圆
Canvas.Fill.Color := TAlphaColorRec.Aqua;
Canvas.FillEllipse(RectF(, , , ), );
Canvas.FillEllipse(RectF(, , , ), );
TRectF.Create();
TPointF.create
多边形
DrawPolygon
Polygon
procedure TForm1.DrawPolygonClick(Sender: TObject);
var
p1, p2, p3, p4, p5, p6: TPointF;
MyPolygon: TPolygon; //System.Math.Vectors unit needed.
begin
// sets the points that define the polygon
p1 := TPointF.Create(, );
p2 := TPointF.Create(, );
p3 := TPointF.Create(, );
p4 := TPointF.Create(, );
p5 := TPointF.Create(, );
p6 := TPointF.Create(, );
// creates the polygon
SetLength(MyPolygon, );
MyPolygon[] := p1;
MyPolygon[] := p2;
MyPolygon[] := p3;
MyPolygon[] := p4;
MyPolygon[] := p5;
MyPolygon[] := p6;
Image1.Bitmap.Canvas.BeginScene;
// draws the polygon on the canvas
Image1.Bitmap.Canvas.DrawPolygon(MyPolygon, );
Image1.Bitmap.Canvas.EndScene;
end;
TPointF
TPointF = record
class function Create(const AX, AY: Single): TPointF; overload; static; inline;
class function Create(const APoint: TPoint): TPointF; overload; static; inline;
class operator Add(const APoint1, APoint2: TPointF): TPointF;
class operator Subtract(const APoint1, APoint2: TPointF): TPointF;
class operator Equal(const APoint1, APoint2: TPointF): Boolean;
class operator NotEqual(const APoint1, APoint2: TPointF): Boolean;
class operator Implicit(const APoint: TPoint): TPointF;
class operator Negative(const APoint: TPointF): TPointF;
class operator Multiply(const APoint1, APoint2: TPointF): TPointF;
class operator Multiply(const APoint: TPointF; const AFactor: Single): TPointF;
class operator Multiply(const AFactor: Single; const APoint: TPointF): TPointF;
class operator Divide(const APoint: TPointF; const AFactor: Single): TPointF;
class function PointInCircle(const Point, Center: TPointF; const Radius: Integer): Boolean; static; inline;
class function Zero: TPointF; inline; static;
function Distance(const APoint: TPointF): Single;
function CrossProduct(const APoint: TPointF): Single;
function DotProduct(const APoint: TPointF): Single; inline;
procedure Offset(const APoint: TPointF); overload; inline;
procedure Offset(const ADeltaX, ADeltaY: Single); overload; inline;
procedure Offset(const APoint: TPoint); overload; inline;
procedure SetLocation(const X, Y: Single); overload; deprecated 'Use ":=" assignment instead';
procedure SetLocation(const P: TPointF); overload; deprecated 'Use ":=" assignment instead';
procedure SetLocation(const P: TPoint); overload; deprecated 'Use ":=" assignment instead';
function Subtract(const Point: TPointF): TPointF; overload; deprecated 'Use TPointF.Offset instead';
function Subtract(const Point: TPoint): TPointF; overload; deprecated 'Use TPointF.Offset instead';
function Add(const Point: TPointF): TPointF; overload; deprecated 'Use TPointF.Offset instead';
function Add(const Point: TPoint): TPointF; overload; deprecated 'Use TPointF.Offset instead';
function Scale(const AFactor: Single): TPointF; deprecated;
function EqualsTo(const Point: TPointF; const Epsilon: Single = ): Boolean;
function IsZero: Boolean;
function Ceiling: TPoint;
function Truncate: TPoint;
function Round: TPoint;
function SnapToPixel(const AScale: Single; const APlaceBetweenPixels: Boolean = True): TPointF;
function Normalize: TPointF;
function Length: Single;
function Rotate(const AAngle: Single): TPointF;
function Reflect(const APoint: TPointF): TPointF; inline;
function MidPoint(const APoint: TPointF): TPointF; inline;
function AngleCosine(const APoint: TPointF): Single;
function Angle(const APoint: TPointF): Single;
case Integer of
: (V: TPointFType;);
: (X: Single;
Y: Single;);
end;
FireMoneky 画图 Point 赋值的更多相关文章
- 关于FireMonkey TGrid赋值的一点小研究
FireMoneky的TStringGrid用法和VCL里面的差不多, 但是另一个TGrid实在是奇葩, 几乎找不到给单元格赋值的方法(除了使用LiveBind) 看了其源码, 发现只要给某个Colu ...
- python网络画图——networkX
networkX tutorial 绘制基本网络图 用matplotlib绘制网络图 基本流程: 1. 导入networkx,matplotlib包 2. 建立网络 3. 绘制网络 nx.draw() ...
- 一行代码设置TForm颜色的前世今生(属性赋值引起函数调用,然后发消息实现改变显示效果),TForm的初始颜色在dfm中设置了clBtnFace色
来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程 ...
- cocos2dx3.2 画图方法小修改之 C++ final学习
今天用cocos2dx 3.2版本号学习画图功能, 于是我重载Node 的draw方法.发现报错, watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正
源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...
- ffplay.c函数结构简单分析(画图)
最近重温了一下FFplay的源代码.FFplay是FFmpeg项目提供的播放器示例.尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的.之前看代码,主要是集中于某一个"点&q ...
- 描点的改进:运用chart画图。
主要是利用Chart画图: 通过选中一部分曲线进行图像的放大和缩小,最小值为1格. 先计算最大值和最小差值.然后赋值给AxisY.Minimum 和AxisY.Maximum.x轴初始显示数目:Axi ...
- NET简单的一个画图程序
using System; using System.Drawing; //HttpUtility.UrlEncode /// <summary> ///Curve 的摘要说明 /// & ...
- vue父组件异步传递prop到子组件echarts画图问题踩坑总结
效果图: 大致思路:考虑到5张图都是折线图,所以准备用一个子组件承接echarts画图,然后父组件通过prop传递不同数据来展示不同的图 踩坑问题: 1.引入line子组件,画了5个元素,但是只显示一 ...
随机推荐
- HDU 2553 状态压缩
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- MyBatis Generator去掉生成的注解
是不是很讨厌mybatis Generator帮我们生成代码的时候在Mapper和mapper.xml文件中生成的一大堆注解?今天在看MyBatis Generator代码的时候发现,原来mybati ...
- Fedora BCM43142 无线网卡驱动安装
OS:Fedora 25 KDE 系统内核:4.10.16-200.fc25.x86_64 #1 网卡:BCM43142 1.识别自己的网卡型号:命令:lspci | grep -i broadcom ...
- 怎样配置visio的数据库驱动程序
怎样配置visio的数据库驱动程序 百度师傅最快的到家服务,最优质的电脑清灰 在使用visio进行反向工程画数据库模型图时,需要进行数据库驱动程序的配置.下面以visio2003给大家演示怎样配置 ...
- [置顶]
Android 打包apk无敌报错
前言: 这个问题从昨天上午一直到现在,请教了很多大佬,都没有给出确定的解决方案,可能他们也没碰到过可能,不过还是挺感谢他们的建议,一直到今天中午午休,我一直都在想这个问题,就是下面的这个,看了国内很多 ...
- 谷歌浏览器怎么调试js 谷歌浏览器调试javascript教程
谷歌浏览器是一款由谷歌公司开发的浏览器.谷歌浏览器是一款基于其他开源软件所撰写的.下面小编为大家分享一篇谷歌浏览器调试javascript的教程,希望帮助大家 首先我们打开开发者工具,你可以直接在页面 ...
- CF1143D/1142A The Beatles
CF1143D/1142A The Beatles 将题目中所给条件用同余方程表示,可得 \(s-1\equiv \pm a,s+l-1\equiv \pm b\mod k\). 于是可得 \(l\e ...
- C#在64位操作系统上连接Oracle的问题和解决方案
C#使用System.Data.OracleClient连接Oracle数据库.之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了.错误信息如下: 尝试加载O ...
- 【monkeyrunner】monkeyrunner脚本录制和回放
脚本录制 1.连接你已经打开调试模式的ANDROID设备或模拟器,输入adb devices 2.运行录制脚本.在cmd窗口输入 monkeyrunner recorder.py #recorder. ...
- WinForm应用程序中实现自动更新功能
WinForm应用程序中实现自动更新功能 编写人:左丘文 2015-4-20 近来在给一客户实施ECM系统,但他们使用功能并不是我们ECM制造版提供的标准功能,他们要求对系统作一些定制功能,为了避免因 ...