![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задание размера TMetafile
Gydvin © (2007-06-01 09:36:00)Не пойму, что за ерунда. Делаю так
var
wmf: tmetafile;
....
wmf := TMetafile.Create;
wmf.Transparent := true;
wmf.Enhanced := true;
wmf.Height := 35;
wmf.Width := 35;
with TMetafileCanvas.Create(wmf, 0) do
try
//рисую
finally
Free;
end;
Размеры у wmf не изменяются.
А если так то все работает.
var
wmf: tmetafile;
....
wmf := TMetafile.Create;
wmf.Transparent := true;
wmf.Enhanced := true;
wmf.Height := 35;
wmf.Width := 35;
with TMetafileCanvas.Create(wmf, 0) do
try
//пустой
finally
Free;
end;
with TMetafileCanvas.Create(wmf, 0) do
try
//рисую
finally
Free;
end;
Почему? И как лечить
umbra (2007-06-01 15:23:00) [1]как говорит великий и ужасный F1 о
TMetaFileCanvas.Create:
Create sets the size of the TMetafile object from ReferenceDevice if it does not already have the MMHeight and MMWidth properties set.
Gydvin (2007-06-01 14:29:00) [2]без ;do ессно
Gydvin (2007-06-01 14:28:00) [3]D7
пробовал так
with TMetafileCanvas.CreateWithComment( wmf, 0, 'qw', 'qw' ); do
try
...
finally
Free;
end;
Desdechado (2007-06-01 14:06:00) [4]Версия дельфей какая?
У меня на 5-ке проблем не было, да и на 7-ке не замечал.
Gydvin (2007-06-01 13:59:00) [5]
> Ты думаешь, что при рисовании за границей указанных размеров
> они будут растягиваться?
Нет недумаю. Мне нужно именно задать размеры полотна. Тоесть размеры
указанные метафайлу не применяются с первой попытки к созданной канве. Только со второй, как показанно в [0] пример 2.
CreateWithComment( oMeta, 0, 'qw', 'qw' );
Тоже самое.
Desdechado (2007-06-01 12:48:00) [6]А почему они должны меняться?
Ты думаешь, что при рисовании за границей указанных размеров они будут растягиваться? Нет, не будут.
Помню, были какие-то проблемы при создании полотна без примечаний, поэтому всегда создаю с примечаниями.
var
oMeta: TMetafile;
oCanv: TMetafileCanvas;
begin
oMeta := TMetafile.Create();
oMeta.Height := 250;
oMeta.Width := 470;
oCanv := TMetafileCanvas.CreateWithComment( oMeta, 0, s1, s2 );