dsp_CaptureVideoExを用いた縮小キャプチャ
撃 2013/6/1(Sat) 02:37:22|NO.54459
動画ファイルをバッファ的に利用したく、hspdsp.dllを使って
いろいろ小細工している最中です。
プログラムで利用したい動画のサイズが小さいため、コピーサイズを小さくしたいのですが、
縮小コピーするとすごく画質が汚くなっています(色数が減っている?)
サンプル(かなりまずいソースかもしれません)
動画を再生して、スペースを押すとだんだん縮小されます。
綺麗に縮小する手段は無いでしょうか。
dsp_CaptureVideoExを使うことは必須です。
#include "hspdsp.as"
dsp_Init
screen 0,640,480,0
dialog "*",16,"メディアファイル"
if stat=0:end
dsp_UseCaptureVideoEx 1
dsp_Open refstr,OPEN_DEFAULT_RENDERER,0,0,0
dsp_SetCaptureBufferSamples 1
bai=0
size=dsp_info(0)
onexit *exit
dsp_Play hwnd,0,0,0,0
gsel 0
repeat
stick ky
if ky&16{bai++:bai=bai\20:size=(20-bai)*(dsp_info(0)/20)}
dsp_CaptureVideoEx hdc,0,0,size,size/16*9,SRCCOPY
await 0
redraw 1
loop
return
*exit
dsp_Stop
dsp_Close
dsp_Exit
end
inovia 2013/6/1(Sat) 02:51:28|NO.54460
作者です。
#include "gdi32.as"
をインクルードし、
SetStretchBltMode hdc, 3 // COLORONCOLOR
をdsp_Playの後あたりに書いてあげると改善するかと思います。
inovia 2013/6/1(Sat) 02:54:28|NO.54461
追記です。
HALFTONE(4) の方が綺麗かもしれない。
使えるモードは以下を参考にしてください。
http://msdn.microsoft.com/ja-jp/library/cc428734.aspx
sjiisd 2013/6/1(Sat) 03:02:14|NO.54462
撃 2013/6/1(Sat) 09:45:11|NO.54464
おお、完璧です。
ありがとうございました。
APIも勉強しといたほうがいいようですね。