Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизTBitmap Найти похожие ветки
← →
DJ_Sedoy (2003-02-17 02:28) [0]Подскажите, что плохого в следующем:
Var a: TBitmap;
i: TImage;
.....
procedure Something;
Begin
a:=TBitmap.Create;
a:=Image1.Picture.Bitmap;
end;
......
procedure Lala;
Begin
i:=TImage.Create(nil);
i.Parent:=Form1;
i.Picture.Bitmap:=a;
a.free;
end;
Пытается обратиться по адресу 0000000 в момент присваивания i.Picture.Bitmap:=a;
Такая же сидуация и при TPicture.
То есть я просто хочу в некой переменной сохранить картинку, чтобы потом когда нужно поместить её в какой-нить Image.
← →
Ну (2003-02-17 02:59) [1]вот например явная чушь:
>procedure Something;
>Begin
>a:=TBitmap.Create;
>a:=Image1.Picture.Bitmap;
переменной a сначала присваивается указатель на вновь созданную структуру (object) TBitmap. Затем, в следующей строке, этой переменной присваивается указатель на что-то иное (неизвестно на что, поскольку в тексте сабжа нигде не описана переменная Image1.
Что будет далее при обращении к переменной "а" - только бог знает, а точнее (поскольку я не верю в ЕГО существование), то никто не знает!
← →
DJ_Sedoy (2003-02-17 03:20) [2]Type TForm1 = class (TForm)
Image1 : TImage
..........
end;
Var a: TBitmap;
i: TImage;
.....
procedure Something;
Begin
a:=TBitmap.Create;
a:=Image1.Picture.Bitmap;
end;
......
procedure Lala;
Begin
i:=TImage.Create(nil);
i.Parent:=Form1;
i.Picture.Bitmap:=a;
a.free;
end;
Есть та картинка. Она есть, с загруженным изображением.
with Image1.Picture.Bitmap do
begin
Width:= Image1.Width;
Height:= Image1.Height;
Canvas.CopyRect(Rect(0, 0, Width, Height), a.Canvas, Rect(0, 0, Width, Height));
end;
Так тоже не хочет.
← →
Drin (2003-02-17 03:21) [3]
> i.Picture.Bitmap:=a;
"а" в этот момент равняется 0, потому что "а" это указатель на объект класса.
← →
DJ_Sedoy (2003-02-17 03:39) [4]Действительно.
Спасибо. Всё получилось. Такое присваивание было некорректным, конечно.
Я должен был Canvas.CopyRect как в ту, так и другую сторону.
Тогда еще вопрос:
Var f: TFont;
Begin
.....
f:=TFont.Create;
f:=Label1.Font;
....
end;
а в таком случае как быть? Есть ли выход?
← →
ЮЮ (2003-02-17 04:45) [5]Есть ещё такой метод Assign
a.Assigh(Image1.Picture.Bitmap);
f.Assign(Label1.Font);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c