16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"最大辺一定でImage読み込み"
{色々なサイズの画像を一定の大きさにおさまるように
つまり、最大辺を一定にして読み込む maxSizeは別途定義の最大辺}
function loadbitmap(newImage:TImage;filename:string):boolean;
var
ratio:extended;
begin
loadbitmap:=false;
try
newImage.Picture.LoadFromFile(filename);
ratio:=newImage.Height/newImage.width;
if ratio>1 then
begin //縦の方がでかい
newImage.height:=maxSize;
newImage.width:=Trunc(maxSize/ratio);
end
else
begin //幅の方が広い
newImage.height:=trunc(maxSize*ratio);
newImage.width:=maxSize;
end;
newImage.autosize:=false;
newImage.stretch:=True;
loadbitmap:=True;
except
loadbitmap:=false;
showmessage(ExtractFilename(filename)+'読み込めませんでした'+
#13+
'正しいファイルかチェックして下さい');
end;
end;
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|