HSPで画像を3分の1(辺)に縮小するスクリプトを組みました。
それだけではつまらないのでClearTypeと同じ仕組みで縮小するサンプルを作りました。ClearTypeとはWindowsのフォントの描画で使われている技術です。ClearTypeについて詳しいのはこのサイト→ http://www.atmarkit.co.jp/fpc/xp_feature/cleartype/cleartype.html
それではスクリプトです。
screen 0
dialog "",16
if stat==0:dialog "キャンセルされました":end
picload refstr
sw=ginfo(12)
sh=ginfo(13)
title "Orginal Image size: "+sw+","+sh
buffer 1,3,3
screen 2,sw/3,sh/3
title "Default"
redraw 0
repeat sh/3
cnt1=cnt
repeat sw/3
cnt2=cnt
gsel 1
gcopy 0,cnt2*3,cnt1*3,3,3
clr=0
repeat 9
pget cnt\3,cnt/3
clr+=(ginfo_r+ginfo_g+ginfo_b)/3
loop
gsel 2
color clr/9,clr/9,clr/9
pset cnt2,cnt1
loop
loop
redraw 1
screen 3,sw/3,sh/3
title "ClearType"
redraw 0
repeat sh/3
cnt1=cnt
repeat sw/3
cnt2=cnt
gsel 1
gcopy 0,cnt2*3,cnt1*3,3,3
dim clr,3
repeat 3
cnt3=cnt
repeat 3
pget cnt3,cnt
clr.cnt3+=(ginfo_r+ginfo_g+ginfo_b)/3
loop
loop
gsel 3
color clr.0/3,clr.1/3,clr.2/3
;color clr.2/3,clr.1/3,clr.0/3//←きれいに表示されないときはこちらのコメントアウトを外して真上の行をコメントアウトする
pset cnt2,cnt1
loop
loop
redraw 1
スクリプトが開始されたときに、まずファイルオープンのダイアログが出ますのでお好きな画像を選択してください。
選択されるとすぐに縮小が開始されます。
縮小作業は画像サイズが大きいほど時間がかかります。CPU依存なので縮小なのでCPUをそれなりに食います。
スクリーン0は元画像表示用のウィンドウ、バッファー1は作業用バッファ、スクリーン2は標準の方法での縮小の表示用ウィンドウ、スクリーン3はClearTypeでの縮小の表示用ウィンドウです。
使う画像によってClearTypeの効果が出たり出なかったりします。どういった画像でよく効果が出るのかというのを考えてみるのもいいかもしれません。