2012-11-21 14 views
5

私はデジタルホワイトボードを作るプロジェクトを持っています。私は普通のペンでやったことがあり、ハイライトペンの仕事をシミュレートする必要があります。デルファイキャンバスでハイライトペンをシミュレート

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

デルファイには透過設定がありません。私は見つけた GDIの機能http://msdn.microsoft.com/en-us/library/dd183351.aspx

しかし、私はどのようにハイライトペンをシミュレートするためにこれを使用する手掛かりがありません。 次に、この関数を使ってハイライトペンをシミュレートする方法は?

+3

あなたは "蛍光ペン" とはどういう意味ですか? –

+0

ハイライトペンはここに記載されているハイライトペンです。http://en.wikipedia.org/wiki/Highlighter –

+0

サイドノートとして、 'drawingNow then'ではなく' if drawingNow = True then'と書かれているのはなぜですか?それは誰かに尋ねるようなものです。「この声明はあなたが空腹ですか」と評価されていますか?単純に "あなたは空腹ですか?"の代わりに。 –

答えて

6

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; 
+3

@jachguate:私のために文字列を修正してくれてありがとう!素晴らしく見える! –

関連する問題