;====================================== ; クリップボードの画像取得 ;-------------------------------------- ; ; clipimg ; ; ※ stat = 0 取得失敗 ;   stat = 1 取得成功 ; ; ※ クリップボードの画像サイズに合わせて ;   画面サイズも変更します。 ; ;====================================== ; ; 作:せつき ; HP:http://www.setsuki.com/ ; ;-------------------------------------- #include "llmod.as" #module #deffunc clipimg ;************************************** ; クリップボードの画像を取得 ;************************************** #define CF_BITMAP 2 mref stt,64 mref bmscr,67 : hwnd=bmscr.13 ;指定したフォーマットの存在を検索 prm=CF_BITMAP dllproc "IsClipboardFormatAvailable",prm,1,D_USER if stat=0 : stt=0 : return ;クリップボードを開く dllproc "OpenClipboard",hwnd,1,D_USER if stat=0 : stt=0 : return ;ポインタ取得(BITMAPINFOHEADER構造体) prm=CF_BITMAP dllproc "GetClipboardData",prm,1,D_USER if stat=0 : gosub *clip_end : stt=0 : return hBitmap=stat sdim bm,100 ;BITMAP構造体オブジェクト情報取得 prm.0=hBitmap prm.1=24 getptr prm.2,bm dllproc "GetObjectA",prm,3,D_GDI if stat=0 : dialog "GetObject 失敗" : end wpeek bmWidth ,bm,4 ;画像の横幅 wpeek bmHeight,bm,8 ;画像の高さ wpeek bit,bm,14 ;画像の色bit数 if bit>8 : i=0 : else : i=1 screen bmscr.18,bmWidth,bmHeight,i mref vram ,66 //パレット取得 p=40 : if bit<9 { repeat 1<