Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Как отрисовать кусочек TMetaFileCanvas?   Найти похожие ветки 

 
MegaVolt   (2004-10-08 10:04) [0]

Есть некая TMetaFileCanvac на ней немерянно отрисовавно.
Как нарисовать кусочек этой канвы на экране причём с масштабированием на всю новую канву? Если отрисовывать весь метафайл то исспользую StrechDraw а как поступить если нужно отрисовать кусочек канвы например середину. При этом очень желательно чтобы при масштабировании не падало качество. Т.е. например StrechDraw при увеличении увеличивает сам метафайл который по сути является векторным рисунком а затем отрисовывает на новой канве. При этом линии всегда получаются 1 пиксел вне зависимости от увеличения. Нужно получить тот же эффект но для части метафайла.

Заранее благодарен.


 
MegaVolt   (2004-10-08 10:55) [1]

Т.е. скопировать целый метафайл в любой прямоугольник я могу а вот скопировать часть метафайла в прямоугольник не могу. Подскажите как?


 
MegaVolt   (2004-10-08 11:31) [2]

Сейчас делаю так:

PaintBox.Canvas.StretchDraw(rect(0,0,PaintBox.Width,PaintBox.Height),MetaFile);


пробую заменить на такой вариант. Выводит на экран скриншоты рабочего стола :( (с чего бы это? Видать новый метод делать скриншот экрана открыл :) )


tmc:=TMetaFileCanvas.Create(MetaFile,0);
tmc.Draw(0,0,MetaFile);
PaintBox.Canvas.CopyRect(rect(0,0,PaintBox.Width,PaintBox.Height),tmc,rect(0,0,MetaFile.Width,MetaFile.Height));


Неужели никто не в курсе как с ентой ерундой работать?


 
MegaVolt   (2004-10-08 15:00) [3]

Люди.... Почему я получаю вместо моей картинки рабочий стол?? Где он тут фигурирует?


 
MegaVolt   (2004-10-08 17:29) [4]

Похоже это фича персональная особенность Win98. На XP CopyRect вообще ничего не производит с канвой метафайла.

Вывод: CopyRect работает некоректно для канвы метафайлов и следовательно легкое масштабирование получить не получится :( Придётся картинки рисовать для каждого масштаба а потом отображать их. Исследование и тему предлогаю считать закрытыми. Спасибо мне любимому.



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1097122070
CrazyBoy
2004-10-07 08:07
2004.10.24
ADO c DBF


3-1096009540
Леха
2004-09-24 11:05
2004.10.24
Как изменить значение всех строк с пом. sql


14-1097139658
lipskiy
2004-10-07 13:00
2004.10.24
Ищу программу для нажимания кнопок в чужих окнах


14-1097041840
9k33
2004-10-06 09:50
2004.10.24
Кодерам и заказчикам


3-1096455026
Dysan
2004-09-29 14:50
2004.10.24
ClientDataSet и ADOQuery или как их подружить!