|
デリータの漫画制作ソフトComicWorks 2.0Maxは、デリータのトーン800種余を基本的に全部収録しているのが特徴で、よく
「トーン集としてだけでも買う価値がある」と言われていますが、
今回のスクリプトは、他のソフトのトーン集としてComicWorksを購入する人向けのツールです。
実行すると、収録されているトーンの全柄を、白黒二値のbmp画像として吐き出します。
(このスクリプトはVer2 Max用です。Works600,1200では別のスクリプトが必要です)
●使い方
ComicWorks Maxを起動して、新規作成で21.33cm×30.11cm、600dpi、モノクロ二値の新規ファイルを作成してください。
スクリプトの1行目が tstver=true になっていますが、このまま実行してください
実行中のuwsファイルのあるフォルダにフォルダ「bmp」が作られ、その中にサブフォルダが作られます。
トーンを貼る->画像saveを繰り返し、テストモードでは3×3枚だけ、bmp化します。
正常にbmp変換されることが確認できたら、1行目をtstVer=false に書き換えて再び実行すると、今度は全種類のトーンがbmpに変換されます。
全データを変換する場合、この作業には数時間かかります。(cw2で、作者の環境で約5時間)
600枚作ったところでいったんComicworksが終了、再起動して動き出しますが、異常ではありませんのでそのままお待ちください。
出力したbmpファイルは、works2max+追加新y柄をすべて出力した場合、3.60 GBになりますので、ハードディスクの容量を充分空けてから実行してください。
スクリプトを実行している間は、他のPC操作をしないでください。バックグラウンドで動作するようには作られていません。
他の操作をする場合は、Alt+F2で作業を中断し、他の操作が済んでから再開してください。
途中で中断した場合、中断したところから再開するように作られています。
失敗して白紙のbmpファイルができた場合は、そのbmpは削除してから再実行してください。
(bmpの有無でもう一度作成するかを判定しているので)
(注意・ComicWorks2Maxのアフィリエイトを付けましたが、ご購入の判断は自己責任でお願いします。
万一スクリプトが動作せず、bmpでの吐き出しがうまくいかなかった場合の補償はできかねます)
//worksToneCW2.uws スクリプトここから、
public tstver=true
public worksPass
public bmpDir
public allToneDir
print "workstoneCW2 start"
bmpDir=GET_CUR_DIR+"\bmp"
worksID=GETID("DELETER COMICWORKS ","TMainForm")
worksPass=STATUS(worksID,ST_PATH)
allToneDir=copy(worksPass,1,pos("\",worksPass,-1))+"tones"+
makeBmpDir()
outputBmpFile()
print "worksToneCW2 end"
exec("Explorer.exe "+GET_CUR_DIR+"\bmp")
sound("beep")
sound("beep")
procedure worksExec()
exec(worksPass)
sleep(5)
worksID=GETID("DELETER COMICWORKS ","TMainForm")
SCKEY(worksID,VK_CTRL,VK_N) //新規作成
sleep(1)
KBD(VK_ENTER) //OK
normalWait()
fend
procedure worksQuit()
worksID=GETID("DELETER COMICWORKS ","TMainForm")
MOUSEORG(worksID)
SCKEY(worksID,VK_CTRL,VK_Q)
sleep(1)
KBD(VK_N)
sleep(1)
fend
procedure makeBmpDir()
dirKazu=GetDir(allToneDir,"\")
ifb tstver=1 then
if dirkazu>3 then dirkazu=3
endif
for i=0 to dirKazu-1
nowDirName=GETDIR_FILES[i]
str=bmpDir+"\"+nowDirName
DosCmd("mkdir "+"bmp"+"\"+nowDirName)
next
fend
procedure outputBmpFile()
count =0
dirKazu=GetDir(allToneDir,"\")
ifb tstver=1 then
if dirkazu>3 then dirkazu=3
endif
worksID=GETID("DELETER COMICWORKS ","TMainForm")
MOUSEORG(worksID)
SCKEY(worksID,VK_CTRL,VK_W,VK_I)
for i=0 to dirKazu-1
a=GetDir(allToneDir,"\")
toneDirName=GETDIR_FILES[i]
toneDir=allToneDir+"\"+toneDirName
toneKazu=GetDir(toneDir)
ifb tstver then
if tonekazu>3 then tonekazu=3
endif
for j=0 to toneKazu-1
toneName1=GETDIR_FILES[j]
kakucho=POS( ".ds",toneName1)
if kakucho>0 then toneName=copy(toneName1,1,kakucho-1) else toneName=toneName1
//print toneName
saveFileName=bmpDir+"\"+toneDirName+"\"+toneName
IFB FOPEN(saveFileName+".bmp",F_EXISTS)=FALSE THEN // bmpファイルがあるかどうか確認
id=GETID("トーン","TFormTone")
ACW(id,378,220,250,491,0)
MOUSEORG(id)
CLKITEM(id,toneDirName)
SCKEY(id,VK_ALT,VK_T,VK_A)
MOUSEORG(id)
x=110+((j mod 5)*24)
y=80+(int(j/5)*24)
BTN(LEFT,CLICK,x,y,20)
id2=GETID("トーン貼り付け位置の指定")
ACW(id2,301,285,482,198,0)
MOUSEORG(id2)
CLkItem(id2,"繰り返し",CLK_BTN,FALSE)
SendStr(id2, " 0 ", 1,1)
SendStr(id2, "100", 3,1)
CLKITEM(id2,"OK")
while STATUS(GETID(GET_ACTIVE_WIN),ST_TITLE)="トーン貼り付け位置の指定"
// while GETID("トーン貼り付け位置の指定")=GETID(GET_ACTIVE_WIN)
sleep(0.1)
wend
worksID=GETID("DELETER COMICWORKS ","TMainForm")
ACW(worksID,56,37,768,513,0)
SCKEY( worksID,VK_ALT,VK_F,VK_E)
saveID=GETID("別ファイル方式にエクスポート") // ver2
ACW(saveID,258,174,507,246,0)
MOUSEORG(saveID)
SendStr(saveID,saveFileName,1)
SCKEY(saveID,VK_ALT,VK_T)
SCKEY(saveID,VK_B)
CLKITEM(saveID,"保存",CLK_BTN or CLK_SHORT)
KBD(VK_Y)
renderOptionID=GETID("レンダリングオプション設定")
ACW(renderOptionID,365,218,294,332,0)
MOUSEORG(renderOptionID)
CLKITEM( renderOptionID,"ビットマップレイヤの",CLK_BTN or CLK_SHORT,1 )
CLKITEM( renderOptionID, "文字レイヤ", CLK_BTN or CLK_SHORT,0 )
CLKITEM(renderOptionID,"OK")
waitID=GETID("処理中です")
while GETID(GET_ACTIVE_WIN)=waitID
sleep(0.1)
wend
worksID=GETID("DELETER COMICWORKS ","TMainForm")
ACW(worksID,56,37,768,513,0)
SCKEY( worksID,VK_CTRL,VK_A )
SCKEY( worksID,VK_DELETE )
normalWait()
count = count+1
ENDIF
IFB count>600 THEN
worksQuit()
worksExec()
count=0
ENDIF
next
next
fend
procedure normalWait()
while MUSCUR()=CUR_WAIT
sleep(0.1)
wend
fend
//ここまで
// スクリプトをコピーして テキストエディタでworksToneCW2.uwsとして保存 uwscで実行
私のおすすめ:
ComicWorks2 Maxを購入
|
ComicStudio EX 3.0のトーンのエクスポートも自動化出来ないでしょうか?
自分は原稿をpainterとphotoshopを中心に使うのでトーン作業はもっぱらPowerToneを使ってます。
こちらのコミックワークスbmp化でコミックワークスのトーンはPowerToneに登録出来たのですが
ComicStudioのトーンはそういうのが無いので手作業でエクスポートしてる次第です。
面倒かもしれませんがお暇があればお願いします。
2008/5/8(木) 午後 8:40 [ a11**501*u ]
ありがとうございました!
変換できました
ただ、私の環境のせいなのか、全選択→消去→選択解除を書き加えないと、トーンの上にトーンを書き足してしまってうまくうごかなかったです。
2009/1/19(月) 午後 6:06 [ aki ]
・トーンの上にトーンを書き足してしまってうまくうごかない
(ちゃんと前のを消してから貼ることもあってまちまち)
・頻繁にトーンの番号、フォルダがズレる
・すぐに止まったまま動かなくなる(カーソルを動かすと動き出すことも)
と言う症状で困っています。
uwscのバージョンは4.5ですが、一体何がいけないのでしょうか…?
2009/3/28(土) 午後 0:22 [ har*on*10* ]
その症状だと
「ComicWorks2がまだ作業しているのに、uwscスクリプトが次の指示を出してしまっており、タイミングがずれている」ことが考えられます。
試しに、sleep(数字) の中の数字を大きくしてみてください
例)0.1 を 0.5、1など。
2009/3/28(土) 午後 2:19 [ uws*_sc*ip* ]
ありがとうございます!おかげさまで、グラデーションフォルダ位まではうまく行きました。
ですが、その後のフォルダにはおどろやグラデーションの、既に書き出し終わっているデータが再び書き込まれる現象に見舞われています。
(例:テクスチャトーンのフォルダに、テクスチャトーンの番号でおどろのトーンが書き込まれるなど)
他に似た書き込みが無いあたり、うちのパソコンが悪いのでしょうか…。
2009/4/7(火) 午前 11:45 [ har*on*10* ]
うーん、そういうバグ報告は今までなかったのですが。
トーンを貼るとき、トーンウィンドウの左側の「おどろ」「テクスチャ」などの項目名をクリックしてから、右のトーンのサムネイルをクリック、という動作をスクリプトにやらせているのですが、harftoneさんの環境では、左側の項目のクリックがうまく動作していなさそうな感じですね。
では、スクリプト中の、
CLKITEM(id,toneDirName)
の部分を
CLKITEM(id,toneDirName,ITM_TREEVEW)
sleep(2)
と変更して再実行してみてください。
また、再実行するときは、失敗した時のbmpデータは削除するか別のフォルダに移動させておいてください。
前のbmpがあると、スクリプトが「作成済み」と判断してそのトーンをスキップしてしまいますから。
2009/4/10(金) 午後 6:26 [ uws*_sc*ip* ]
スクリプト実行したのですが、何度も同じトーンだけ開いては、用紙を全選択した画面のまま動きません。それでフォルダとトーンは出来るけど全部真っ白、諦めたほうがいいですか?
2009/7/19(日) 午後 8:16 [ max ]
初めまして、こちらのスクリプトを試させていただきました。
しかし、トーン貼りつけ位置の指定、というポップアップ後、
動作が止まってしまい処理が先に進まなくなってしまいました。
そのまま放置し30分ほど様子を見たのですが全く変わらず、フリーズかとかと思いワークスのアイコンをクリックすると進みました。
何度かその動作を繰り返すとbmpフォルダができ完了したのですが、
出来た中身は真っ白のファイルでした。
win7、UWSC Free版 Ver4.6b、works2.0 です。
何か改善策はありますでしょうか?
2010/11/10(水) 午前 11:17 [ mat**rin*jp ]
追記
上記の書き変えは試してみましたがダメでした。
2010/11/10(水) 午前 11:19 [ mat**rin*jp ]