자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey [질문] FMX화면에서 싸인이 가능한가요?
2021.07.22 15:28
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
FMX화면에서 싸인이 가능한가요?
노트가 아닌 일반 안드로이드 모바일에서
메모장이나 또는 어떤 컴퍼넌트를 이용해서
손톱으로 싸인할 수 있는 방법이 있나요?
마치 노트에서 펜으로 싸인하듯이요
있으면 참조사이트나 자료 부탁드립니다.
Firemonkey [질문] FMX화면에서 싸인이 가능한가요?
2021.07.22 15:28
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
FMX화면에서 싸인이 가능한가요?
노트가 아닌 일반 안드로이드 모바일에서
메모장이나 또는 어떤 컴퍼넌트를 이용해서
손톱으로 싸인할 수 있는 방법이 있나요?
마치 노트에서 펜으로 싸인하듯이요
있으면 참조사이트나 자료 부탁드립니다.
참고할만한 소스 올려 드립니다.
unit Unit14;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
FMX.Controls.Presentation, FMX.StdCtrls;
type
TForm14 = class(TForm)
PaintBox1: TPaintBox;
btnClear: TButton;
procedure PaintBox1Paint(Sender: TObject; Canvas: TCanvas);
procedure FormCreate(Sender: TObject);
procedure btnClearClick(Sender: TObject);
procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single);
procedure PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
private
{ Private declarations }
FPath: TPathData;
FMouseDown: Boolean;
public
{ Public declarations }
end;
var
Form14: TForm14;
implementation
{$R *.fmx}
procedure TForm14.btnClearClick(Sender: TObject);
begin
FPath.clear;
PaintBox1.Repaint;
end;
procedure TForm14.FormCreate(Sender: TObject);
begin
FPath := TPathData.Create;
FMouseDown := False;
end;
procedure TForm14.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
FPath.MoveTo(PointF(X,Y));
FMouseDown := True;
end;
procedure TForm14.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single);
begin
if FMouseDown then
begin
FPath.LineTo(PointF(X,Y));
PaintBox1.Repaint;
end;
end;
procedure TForm14.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
FMouseDown := False;
end;
procedure TForm14.PaintBox1Paint(Sender: TObject; Canvas: TCanvas);
begin
PaintBox1.BeginUpdate;
Canvas.Fill.Color := TAlphaColorRec.White;
Canvas.FillRect(RectF(0,0,PaintBox1.Width, PaintBox1.Height), 1);
Canvas.Stroke.Color := TAlphaColorRec.Black;
Canvas.Stroke.Kind := TBrushKind.Solid;
Canvas.DrawPath(FPath, 1);
PaintBox1.EndUpdate;
end;
end.