在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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |