Corel Users' Club/Graphicsメーリングリストで生まれた「プロジェクト・ロゴポン!」 第1弾 ダイアログ版
前回発表したflashをベースに使用するエフェクト、エフェクトの適用回数などをダイアログで指定できるように改造しました。
適当なバックグラウンドの上にロゴのオブジェクトを置き、ロゴを選択した状態で走らせてください。
'Corel PHOTO-PAINT Version 9.439 'Copyright by Albatross '2000/12/4 Version 1.00 dim efarr$(2) efarr(1)="Zoom" efarr(2)="Zig Zag" OptionGroup1Val%=4 ListBox1Val%=1 nc%=1 ec%=3 BEGIN DIALOG Dialog1 245, 104, "Logo Maker #1" TEXT 5, 5, 110, 10, "エフェクトの種類を選択してください" LISTBOX 15, 20, 95, 20, efarr$, ListBox1Val% TEXT 5, 50, 32, 10, "ノイズ量" SPINCONTROL 60, 55, 50, 12, nc% TEXT 5, 75, 60, 9, "エフェクト適用回数" SPINCONTROL 60, 85, 50, 12, ec% TEXT 130, 5, 110, 9, "エフェクトの中心を選択してください" OPTIONGROUP OptionGroup1Val% OPTIONBUTTON 150, 20, 10, 11, "" OPTIONBUTTON 150, 40, 10, 11, "" OPTIONBUTTON 150, 60, 10, 10, "" OPTIONBUTTON 175, 20, 10, 10, "" OPTIONBUTTON 175, 40, 10, 10, "" OPTIONBUTTON 175, 60, 10, 10, "" OPTIONBUTTON 200, 20, 10, 10, "" OPTIONBUTTON 200, 40, 10, 10, "" OPTIONBUTTON 200, 60, 10, 10, "" OKBUTTON 140, 85, 40, 14 CANCELBUTTON 195, 85, 40, 14 END DIALOG WITHOBJECT "CorelPhotoPaint.Automation.9" if .getdocumentcount()=0 then message "ドキュメントがありません" end endif if .getobjectcount()=0 then message "オブジェクトがありません" end endif ret=dialog(dialog1) if ret=2 then stop select case OptionGroup1Val% case 0 to 2 x=0 case 3 to 5 x=320 case 6 to 8 x=640 case else x=320 end select select case OptionGroup1Val% case 0,3,6 y=0 case 1,4,7 y=240 case 2,5,8 y=480 case else y=240 end select .setdocumentinfo 640,480 .GetPaperColor cm&,C1&,C2&,C3&,C4& .ObjectDuplicate .ObjectSelectNone .ObjectSelect 1, TRUE .EndObject .objectmerge false .ObjectSelectNone .ObjectSelect 2, TRUE .EndObject .MaskCreate TRUE, 0 .ObjectSelectNone .ObjectSelect 1, TRUE .EndMaskCreate .MaskChannelAdd "alpha1" .objectedit 0,false for c=1 to nc% .EffectAddNoise 100, 100, FALSE, 2, 2, cm&, c1&, c2&, c3&, c4& .EndColorEffect next c .MaskRemove for c=1 to ec% select case ListBox1Val% case 1 .EffectZoom 100, x,y case 2 .EffectZigZag 10, 50, 50, 1, x,y case else .EffectZoom 100, x,y end select next c .ImageLevelThreshold 0, 0, 150, 255, 1 .EndColorEffect .ObjectEdit 1, FALSE .MaskChannelToMask 0, 0 .MaskFeather 15, 2, 0 .EffectGaussianBlur 8.4 .maskremove END WITHOBJECT