VB 6.0 Проблема метода SavePicture - PullRequest
1 голос
/ 16 декабря 2009

Я использую следующий код для сохранения изображения, созданного в форме, в файл растрового изображения:

SavePicture Form1.Image, Output_Dir + Patternname + ".bmp"
DoEvents   

Теперь изображение, созданное в форме, является изображением 1600x1200 пикселей (выглядит правильно); однако, когда я сохраняю файл, используя приведенный выше код, изображение всегда сохраняется как растровое изображение 1920x1200 пикселей.

1920x1200 - текущее разрешение моего экрана.

Вот код, используемый для установки ширины / высоты изображения формы:

Form1.ScaleMode = vbPixels 
Form1.AutoRedraw = True
W = 1600
H = 1200
Form1.Width = W * Screen.TwipsPerPixelX
Form1.Height = H * Screen.TwipsPerPixelY
Form1.Show

Я не могу понять, почему изображение формы выглядит правильно в разрешении 1600x1200, но когда я сохраняю, программа добавляет дополнительный белый блок 320X1200 для создания растрового изображения 1920x1200.

1 Ответ

1 голос
/ 16 декабря 2009

Я вижу, вы устанавливаете размер формы Form1. Вам необходимо изменить размер picturebox в форме. Убедитесь, что в вашей форме есть элемент управления PictureBox («Picture1»), и попробуйте это:

Picture1.ScaleMode = vbPixels ' Set scale to pixels.
Picture1.AutoRedraw = True    ' If needed

Picture1.Width = W   ' in pixels
Picture1.Height = H  ' in pixels

Затем сохраните это с помощью:

SavePicture Picture1.Image, Output_Dir + Patternname + ".bmp"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...