собственно проблема даже не в распечатке а...
допустим у меня есть в image1 какие нибудь прямые линие кривые и т.д проблема с следующем:
как мне скопировать это изображение и при его увеличить?
просто скопировать его несложно.
примерно что то типа Image1.Canvas.CopyRect(.....);
при этом присходит копирование 1 к 1
а мне в моем случае надо увеличить примерно в 20 раз
это реально?
Масштабирование битмапов
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
т.е я на 99% уверен что такая функция есть и что так можно сделать но как??=(
если можно 1 к 1 по почему 2 к 1 нельзя?
собственно если на это никто не знает ответ то:
можно ли картику размером скажем 100на 100 пикселей при распечатке как то увеличить?
если можно 1 к 1 по почему 2 к 1 нельзя?
собственно если на это никто не знает ответ то:
можно ли картику размером скажем 100на 100 пикселей при распечатке как то увеличить?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
На слове CopyRect сделайте Ctrl+Click. Вас перенесет к "procedure TCanvas.CopyRect" в Graphics.pas.
Вы увидите, что для копирования как такового вызывается функция WinAPI StretchBlt.
При этом размеры Source и Dest прямоугольников совпадают. Если они будут различаться, то произойдет масштабирование. Теперь можете все реализовать самостоятельно.
У канвы есть еще метод StretchDraw, но он проецирует всю текущую канву в указанный прямоугольник в другой канве. Т.е. нельзя задать смещение.
See Also (в хелпе):
* TCanvas.StretchDraw
* StretchBlt
PS
Правильно выбирайте тему сообщения!
Вы увидите, что для копирования как такового вызывается функция WinAPI StretchBlt.
При этом размеры Source и Dest прямоугольников совпадают. Если они будут различаться, то произойдет масштабирование. Теперь можете все реализовать самостоятельно.
У канвы есть еще метод StretchDraw, но он проецирует всю текущую канву в указанный прямоугольник в другой канве. Т.е. нельзя задать смещение.
See Also (в хелпе):
* TCanvas.StretchDraw
* StretchBlt
PS
Правильно выбирайте тему сообщения!
огромный спасибо тебе=)
респект
респект