加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在delphi画布上模拟高亮笔

发布时间:2020-12-15 09:30:02 所属栏目:大数据 来源:网络整理
导读:我有一个制作数字白板的项目.我用普通笔完成了,我必须模拟高亮笔的工作. if drawingNow then Image1.Canvas.LineTo(x,y); delphi中没有透明度设置.我在GDI http://msdn.microsoft.com/en-us/library/dd183351.aspx中找到了AlphaBlend函数 但我不知道如何使用
我有一个制作数字白板的项目.我用普通笔完成了,我必须模拟高亮笔的工作.

if drawingNow then
  Image1.Canvas.LineTo(x,y);

delphi中没有透明度设置.我在GDI http://msdn.microsoft.com/en-us/library/dd183351.aspx中找到了AlphaBlend函数

但我不知道如何使用它来模拟高亮笔.
那么,如何利用这个功能来模拟高亮笔呢?

解决方法

就像是

Canvas.Pen.Color := clYellow;
Canvas.Pen.Width := 12;
Canvas.Pen.Mode := pmMask;
Canvas.LineTo(sth,sth);

也许?

Screenshot http://privat.rejbrand.se/canvaspenmask.png

亲自尝试一下:

procedure TForm4.FormPaint(Sender: TObject);
const
  S = 'Jag heter Andreas Rejbrand och bor ' 
    + 'i Katrineholm,119 kilometer fr?n Stockholm. Jag studerar f?r n?rvarande p? '
    +'masterprogrammet i fysik (med lika mycket matematik) ' 
    + 'vid Link?pings universitet,d?r jag ocks? arbetar som l?rare i matematik vid '
    +'Matematiska institutionen (MAI). Bland mina st?rsta intressen ?terfinnes ocks? '
    +'just matematiken och fysiken. Matematiken ?r '
    +'kanske m?nniskans viktigaste vetenskap,ty alla andra vetenskaper anv?nder den. '
    +'I sj?lva verket anv?nder man matematik varje '
    +'g?ng man drar en slutsats. Mer abstrakt matematik ?n vad man finner i '
    +'vardagslivet har ocks? m?jliggjort all v?r tekniska (och kulturella!) '
    +'utveckling. Naturvetenskapen,? sin sida,med fysiken i '
    +'spetsen,erbjuder en unik f?rst?else av hela universums natur - allt fr?n '
    +'universums f?delse,struktur och moderna inneh?ll i form av bl.'
    +'a. stj?rnor,planeter och asteroider,?nda ner till utvecklingen och funktionen '
    +'hos jordens alla organismer - fr?n de allra f?rsta mikroorganismerna till '
    +'den mer komplexa '
    +'m?nniskokroppen. Naturvetenskapen ger,f?rutom f?rst?elsens intellektuella '
    +'stimulans i sig,vardagsapplikationer till b?de nytta och n?je likv?l som en '
    +'korrekt bild av hur allt i naturen f?rh?ller sig,'
    +'vilket kan ge rationaliserade v?rderingar i samh?llet.';
var
  R: TRect;
  St: string;
begin
  St := S;
  R := ClientRect;
  Canvas.TextRect(R,St,[tfWordBreak]);
  Canvas.Pen.Color := clYellow;
  Canvas.Pen.Width := 12;
  Canvas.Pen.Mode := pmMask;
  Canvas.MoveTo(0,20);
  Canvas.LineTo(ClientWidth - 8,20);
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读