Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Масштабирование TCanvas

1.1K
02 апреля 2004 года
teran
73 / / 15.04.2003
Не подскажете, каким образом можно канвас отмасштабировать, например есть у меня сформированный канвас для печати и мне надо вывести его на предпросмотр, как бы это попроще сделать?
310
02 апреля 2004 года
fellow
853 / / 17.03.2003
Можно взять то, что сформировано для печати, перевести в битмап, а затем этот битмап вывести в нужном месте.
1.1K
02 апреля 2004 года
teran
73 / / 15.04.2003
Цитата:
Originally posted by fellow
Можно взять то, что сформировано для печати, перевести в битмап, а затем этот битмап вывести в нужном месте.


Проблема в том, что при выводе на принтер, размеры канваса получаются довольно большими (примерно 2500*3500), а надо чтобы на экране полный лист показывался, который на печать пойдет.

487
02 апреля 2004 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by teran

Проблема в том, что при выводе на принтер, размеры канваса получаются довольно большими (примерно 2500*3500), а надо чтобы на экране полный лист показывался, который на печать пойдет.



Посмотри хелп по методу Canvas->StretchDraw - эта фигня как раз и занимается масштабированием. Также можешь использовать обычный Canvas->CopyRect - где SourceRect - весь размер канваса - а DestRect - это размер области куда ты хочешь вывести изображение. Если DestRect отличается от SourceRect - тогда происходит автоматическое масштабирование изображения.

1.1K
02 апреля 2004 года
teran
73 / / 15.04.2003
Цитата:
Originally posted by ddnh_bc


Посмотри хелп по методу Canvas->StretchDraw - эта фигня как раз и занимается масштабированием. Также можешь использовать обычный Canvas->CopyRect - где SourceRect - весь размер канваса - а DestRect - это размер области куда ты хочешь вывести изображение. Если DestRect отличается от SourceRect - тогда происходит автоматическое масштабирование изображения.



CopyRect работает, огромное спасибо!

1.1K
02 апреля 2004 года
teran
73 / / 15.04.2003
Цитата:
Originally posted by teran


CopyRect работает, огромное спасибо!


Вот, блин, не успел обрадоваться, так Билдеровский хелп меня обломал, нельзя, говорит со свойством Canvas класса TPrinter использовать методы CopyRect, StretchDraw и Draw.

C++Builder canvases use device-dependent bitmaps to implement the Draw, StretchDraw, or CopyRect methods. Because of this, you can’t use these methods with most printers.

А как же тогда скопировать то, что на TPrinter::Canvas нарисовано?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог