; ResizeImage Example ; ------------------- Graphics 640,480,0,2 SetBuffer BackBuffer() ; Keep a pristine original - ResizeImage changes the image itself, ; so we always resize a fresh copy to avoid quality loss stacking up original=LoadImage("media/b3dlogo.jpg") ; 400x197 photo new_w=200 resized=CopyImage(original) ResizeImage resized,new_w,new_w*197/400 While Not KeyDown(1) Cls ; [ / ] pick a new width; the height keeps the same proportions. ; ResizeImage is slow - do it on a keypress, never every frame. If KeyHit(26) And new_w>100 Then new_w=new_w-50 FreeImage resized resized=CopyImage(original) ResizeImage resized,new_w,new_w*197/400 End If If KeyHit(27) And new_w<400 Then new_w=new_w+50 FreeImage resized resized=CopyImage(original) ResizeImage resized,new_w,new_w*197/400 End If DrawImage original,20,70 DrawImage resized,20,290 Text 0,50,"Original 400x197" Text 0,270,"ResizeImage resized,"+new_w+","+(new_w*197/400)+" now "+ImageWidth(resized)+"x"+ImageHeight(resized) Text 0,0,"[ / ] : resize smaller / larger Esc: exit" Flip Wend End