//IrfanViewで開いている静止画、またはサムネイルで選択した画像をSaiで新規画像として開きます。 //ファイルそのものが開かれるのではなく、ビットマップコピーがペーストされます。 //IrfanViewで開ける静止画ファイルならすべてSaiで開けますが、psdなど、Saiが対応している //ファイルはこれを使わない方が良いです。ビットマップコピーなのでレイヤーが読み込まれません。 //透過部分があるpngやtgaも透過部分はIrfanViewの背景色になってしまいます。 //svgやepsなどのベクタデータも、同じくIrfanViewで見えている形のままビットマップとしてペーストされます。 Irfan=GETID(" - IrfanView","IrfanView",0.1) thumbs=GETID("IrfanView","IrfanViewThumbnails",0.1) SAIid=GETID("SAI","sfl_window_class",0.1) While (SAIid<0) and ((thumbs<0) or (Irfan<0)) MsgBox("PaintTool SAI または<#CR>IrfanView が起動していません") Exit Wend th_x=Status(thumbs,St_x)+64 th_y=Status(thumbs,St_y)+64 ifb Irfan>0 wks=GetStr(Irfan,1,2) ifb wks<0 SCKEY(Irfan,VK_ALT,VK_SHIFT,S) KBD(VK_ALT,2) KBD(VK_SHIFT,2) wks=GetStr(Irfan,1,2) endif Sleep(0.2) img_w=Copy(wks,1,pos(" ",wks)-1) img_h=Copy(wks,pos(" ",wks,2)+1,(pos(" ",wks,3)-1)-(pos(" ",wks,2))) else Ctrlwin(thumbs,ACTIVATE) While True fukidasi("IrfanViewサムネイルで画像を1つ選択して[X]キーを押してください",th_x,th_y,2,,,,$fce6aa,) Sleep(0.2) ifb GetKeyState(VK_X) fukidasi() KBD(VK_RETURN,0) Irfan=GETID(" - IrfanView","IrfanView",-1) wks=GetStr(Irfan,1,2) Sleep(0.2) img_w=Copy(wks,1,val(pos(" ",wks))-1) img_h=Copy(wks,val(pos(" ",wks,2))+1,(val(pos(" ",wks,3))-1)-(val(pos(" ",wks,2)))) break endif Wend endif SCKEY(Irfan,VK_CTRL,C) KBD(VK_CTRL,2,200) KBD(VK_ESC,0,40) Ctrlwin(SAIid,ACTIVATE) SCKEY(SAIid,VK_CTRL,N) KBD(VK_CTRL,2) NEWCANVAS=GETID("新規キャンバス作成","sfl_window_class",-1) SendStr(NEWCANVAS,img_w) Sleep(0.2) KBD(VK_TAB,0,40) SendStr(NEWCANVAS,img_h) Sleep(0.2) KBD(VK_RETURN,0,40) Sleep(0.2) Ctrlwin(SAIid,ACTIVATE) SCKEY(SAIid,VK_CTRL,V) KBD(VK_CTRL,2,200) SCKEY(SAIid,VK_CTRL,E) KBD(VK_CTRL,2)