目次
前
次
2倍に拡大
画像サイズを2倍にするには、注目している1ピクセルを
右、下、斜下にコピーします。
HSPに用意されている組込みプロシージャpgetで
指定ピクセルの情報を取得し、それらを右、下、斜下に
相当する位置の情報として出力します。
指定ピクセルに情報を出力するには、psetを使います。
拡大処理
実際に拡大されるのかを判断するために、元画と拡大画を
並べて表示してみました。
猫の写真を上下左右に、2倍に拡大すると以下となります。
ソースコードは、以下。
---------------------------------------------------
title "Picture x 2"
screen 0,208*3,229*2
;
xlast = 208
ylast = 229
;
picload "yomo1.JPG",1
;
gosub *div_img1
stop
;++++++++++++++++++++++++++++++++++++++++++++++++++
*div_img1
for j,0,ylast,1
; pixel direction
; get informations of current position
pget i,j
; show
pset 2*i+xlast ,2*j
pset 2*i+xlast ,2*j+1
pset 2*i+xlast+1,2*j
pset 2*i+xlast+1,2*j+1
next
next
return
;++++++++++++++++++++++++++++++++++++++++++++++++++
end
---------------------------------------------------
この写真では目立ちませんが、単純に左右、上下を2倍に
拡大すると画質が悪くなります。拡大後に、平滑化と呼ぶ
処理で、ピクセル間の変化が滑らかになるようにします。
縦横への2倍拡大コードがあれば、縦か横だけの拡大は簡単です。
縦方向の拡大であれば、1ラインを2回表示して対応します。
横方向の拡大の場合、1ピクセルを右にコピーして実現します。
目次
前
次