Как изменить размер изображения и перезаписать сохранение ?
Я хочу изменить размер изображения из окна изображения, а затем сохранить его в формате JPG по тому же пути к файлу. Я использовал следующий код и получил ошибку "общая ошибка произошла в GDI+.
текстовое поле textbox1.текст=путь к образу
Что я уже пробовал:
dim imgwidth as integer dim imgheight as integer dim factor as double=0.6 imgwidth=picturebox1.image.width imgheight=picturebox1.image.height dim saveimage as new bitmap(picturebox1.image,imgwidth*factor,imageheight*factor) saveimage.save(textbox1.text,imaging.imageformat.jpeg) saveimage.dispose()
MadMyche
Как это имя picturebox1 заполняется; вы пытаетесь перезаписать исходный файл?
При отладке это происходит правильно, когда вы получаете "сохранить"?
Возможно, вы захотите завернуть это в Try...Catch
блокировать и точно выяснить, какой тип исключения выбрасывается?
Member 14587959
да я хочу сохранить исходный файл
Member 14587959
Необработанное исключение типа 'System.Runtime.InteropServices.ExternalException' произошло в системе.Drawing.dll
Дополнительная информация: в GDI+произошла общая ошибка.
MadMyche
Скорее всего, проблема заключается в том, что файл используется с момента загрузки picturebox - он должен быть закрыт, прежде чем вы сможете записать новое изображение поверх него. Пожалуйста, смотрите решение 1
Member 14587959
я попробовал ваше решение 1 и все еще получаю ту же ошибку
моя идея программы
я хочу уменьшить размер изображения, а затем сохранить его в пути к файлу (перезапись)
если у вас есть какие-то другие идеи, пожалуйста, помогите мне
Member 14587959
Dim imgwidth как целое число
Dim imgheight как целое число
Тусклый коэффициент как двойной = 0,6
Тусклая картинка = изображение.FromFile(Текстовое Поле Textbox1.Текст)
imgwidth = картинка.Ширина
imgheight = картинка.Высота
Дим SaveImage как новое растровое изображение(картинку, imgwidth * фактор, imgheight * коэффициент)
SaveImage.Сохранить(TextBox1.Text, System.Рисование.Изображений.ImageFormat.Jpeg)
SaveImage.Располагать()
MadMyche
Я не вижу причин для этого. using
блок от решения 1 там.