Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизПропорциональность при загрузке изображения, когда Stretch=True. Найти похожие ветки
← →
igorr (2002-03-03 05:25) [0]Как сделать, чтобы при
Image1.Height=100 и
Image1.Stretch=True
и загрузке
Image1.Picture.LoadFromFile(FileName)
свойство Image1.Width устанавливалось пропорционально с Height?
← →
Mbo (2002-03-03 07:34) [1]Не уверен, что понял твою мысль
это?
with image1 do begin
Stretch:=false;
Picture.LoadFromFile("d:\1.bmp");
width:=Picture.Width*100 div picture.height;
Stretch:=true;
end;
← →
igorr (2002-03-03 10:45) [2]Я работаю с формами MDIChild
В главной форме следующий код:
procedure TMainForm.Stretch1Click(Sender: TObject);
var
NameF:string;
begin
OpenDialog1.Filter:="Pictures *.bmp|*.bmp";
if OpenDialog1.Execute then
begin
TChildStretch.Create(Application);
NameF:=OpenDialog1.FileName;
with ActiveMDIChild as TChildStretch do
begin
Caption:=NameF;
LoadData(NameF);
end;
end;
end;
На LoadData работает код в Child форме
procedure TChildStretch.LoadData(var Name1:string);
begin
with Image2 do
begin
Stretch:=False; {по предложению Mbo 03.03.02 07:34}
Picture.LoadFromFile(Name1);
InitWidth:=Picture.Width div 2;
InitHeight:=Picture.Height div 2;
Stretch:=True;
{!!! но следующий код не проходит !!!}
Picture.Width:=InitWidth; {Cannot assign to a read-only property}
Picture.Height:=InitHeight; {Cannot assign to a read-only property}
end;
Пришлось сделать пункт в меню ГЛАВНОЙ формы, который устанавливает требуемые значения (InitWidth, InitHeight). Это выглядит так:
Код ГЛАВНОЙ формы:
procedure TMainForm.Normalsize1Click(Sender: TObject);
var
NewWidth,NewHeight:integer;
Resize:boolean;
AcCh:TChildStretch;
begin
AcCh:=ActiveMDIChild as TChildStretch;
NewWidth:=InitWidth; {либо другая нужная ширина}
NewHeight:=InitHeight; {либо другая нужная высота}
Resize:=True;
AcCh.FormCanResize(AcCh,NewWidth,NewHeight,Resize);
end;
Код Child формы:
procedure TChildStretch.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
with sender do
begin
Width:=NewWidth;
Height:=NewHeight;
end;
end;
Есть ли другие решения?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c