![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CopyRect не работает для TMetaFileCanvas
DelphiLexx © (2006-08-25 12:42:00)Есть TMetaFileCanvas который содержит векторное изображение имеющее определенную длину и высоту.
Затем я хочу вырезать определенный кусок из этого изображения и запихнуть в новый TMetaFileCanvas c размерами вырезанной области. Для этого я использовал CopyRect но не копирует. Как быть?
guav (2006-08-26 00:36:00) [1]> Как задать не спрашивай,
Во как... а я уже два раза спросить успел.
Что делать ?
Anatoly Podgoretsky (2006-08-25 22:23:00) [2]guav © (25.08.06 17:36) [3]
Физические да, но не пиксели и может масштабироваться.
Как задать не спрашивай, давно было не помню.
guav (2006-08-25 17:45:00) [3]> скопировать уже из TCanvas'a метафайла.
Т.е. у TMetaFile Нет TCanvas, скопировать можно через StretchDraw
guav (2006-08-25 17:36:00) [4]Возможно CopyRect таки может скопировать из TMetaFileCanvas в другой, но в неприведенном коде присутствует ошибка.
Возможно, TMetaFileCanvas и не может быть прочитан. Он вообще-то предназначен для записиметафайла. Тогда для копирования следует уничтожить исходный TMetaFileCanvas (завершив этим запись метафайла) и скопировать уже из TCanvas'a метафайла.
> То есть безразмерный в пикселях.
Кстати, по поводу "безразмерности" метафайла.
Он всё же имеет физические размеры. Вопрос только, как их задавать ?
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1155900190&n=0
Anatoly Podgoretsky (2006-08-25 16:38:00) [5]То есть безразмерный в пикселях.
clickmaker (2006-08-25 16:22:00) [6]возможно потому, что CopyRect юзает StretchBlt для копирования... а это растровая функция. Метафайл же - векторный формат