Страница: 1 |
Страница: 1 |
Вопрос: Как заставить принтер растянуть картинку?
Добавлено: 04.05.05 14:14
Автор вопроса: Дилетант
У меня есть картинка в Image 841х595 pix, разр. 72 (нотный пример). Надо её распечатать. Пока что на принтере выходит крошечная миниатюрка в уголке. Попробовал применить
Printer.Orientation = 2
Printer.ScaleX(841, 3, 7) = 29.67
Printer.ScaleY(595, 3, 7) = 20.99
Не работает.
КАК ЗАСТАВИТЬ ПРИНТЕР РАСТЯНУТЬ КАРТИНКУ?
ЗЫ Вообще-то почему-то практически нет инфы на эту тему. Или я просто не нашёл.
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Дилетант
Вопросов: 13
Ответов: 30
Профиль | | #1
Добавлено: 04.05.05 17:22
Эту задачу, в общем-то, решил методом Printer.PaintPicture. "Моторчик" запущен, работаю над его управлением. Возможно, снова возникнут вопросы. А вообще спасибо, здорово помогаете.
Номер ответа: 2
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #2
Добавлено: 04.05.05 18:57
Const vbHiMetric As Integer = 8
Dim PicRatio As Double
Dim PrnWidth As Double
Dim PrnHeight As Double
Dim PrnRatio As Double
Dim PrnPicWidth As Double
Dim PrnPicHeight As Double
If Pic.Height >= Pic.Width Then
Prn.Orientation = vbPRORPortrait
Else
Prn.Orientation = vbPRORLandscape
End If
PicRatio = Pic.Width / Pic.Height
PrnWidth = Prn.ScaleX(Prn.ScaleWidth, Prn.ScaleMode, vbHiMetric)
PrnHeight = Prn.ScaleY(Prn.ScaleHeight, Prn.ScaleMode, vbHiMetric)
PrnRatio = PrnWidth / PrnHeight
If PicRatio >= PrnRatio Then
PrnPicWidth = Prn.ScaleX(PrnWidth, vbHiMetric, Prn.ScaleMode)
PrnPicHeight = Prn.ScaleY(PrnWidth / PicRatio, vbHiMetric, Prn.ScaleMode)
Else
PrnPicHeight = Prn.ScaleY(PrnHeight, vbHiMetric, Prn.ScaleMode)
PrnPicWidth = Prn.ScaleX(PrnHeight * PicRatio, vbHiMetric, Prn.ScaleMode)
End If
Prn.PaintPicture Pic, 0, 0, PrnPicWidth, PrnPicHeight
End Sub
Private Sub Command1_Click()
PrintPictureToFitPage Printer, Picture1.Picture
End Sub
Private Sub Form_Load()
Set Picture1.Picture = LoadPicture(App.Path + "\PictureToPrint.jpg"
End Sub
Номер ответа: 3
Автор ответа:
Дилетант
Вопросов: 13
Ответов: 30
Профиль | | #3
Добавлено: 05.05.05 13:41
Comanche
А за это - отдельное персональное спасибо!