投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/8/5 18:58:30
> http://homepage1.nifty.com/rucio/main/technique/teq_13.htm
> # 上記記事の最終更新日時は 2004/05/30 22:03:37 (JST) となっているので、
間違い。これは VB6.gif の日付でした…。
初掲が 2002年6月、更新が 2005年4月 かな?


>> TransBMP.lzh  約20KB
元ソースの入手先(R研究所?)が見つかりませんでした。

ちなみに 原版たる Microsoft 実装の PaintEffects は、
Visual Studio 97/Visual Basic 5.0 購入者向けに、
「Visual Basic Owners Area」にて公開されていました(過去形)。
http://pcdn.int21.co.jp/pcdn/vb/vb5/pcdn_msdnol.html


また、TransBMP のサンプルコードは、付属の ActiveX コントロールを用いて、
下記のように記述する事もできます。

PictureBox の AutoRedraw を True にしておくのと、
Form/PictureBox の ScaleMode をピクセルにしておくのを忘れずに…。

Private Sub Command1_Click()
    '青を透過させて描画 
    ImageList1.ListImages.Clear
    ImageList1.MaskColor = vbBlue
    ImageList1.ListImages.Add , "PIC", picFront.Picture
    ImageList1.ListImages("PIC").Draw picBack.hDC, , , imlTransparent
    picBack.Refresh
End Sub

Private Sub Command2_Click()
    '青を透過させて、(0,0)-(50,100) を (100,80) に描画 
    Set PictureClip1.Picture = picFront.Picture
    PictureClip1.ClipX = 0
    PictureClip1.ClipY = 0
    PictureClip1.ClipWidth = 50
    PictureClip1.ClipHeight = 100
    ImageList1.ListImages.Clear
    ImageList1.MaskColor = vbBlue
    ImageList1.ListImages.Add , "PIC", PictureClip1.Clip
    ImageList1.ListImages("PIC").Draw picBack.hDC, 100, 80, imlTransparent
    picBack.Refresh
End Sub