Сплюснуть изображение

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

aave
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 08.08.2012 (Ср) 8:37

Сплюснуть изображение

Сообщение aave » 24.02.2014 (Пн) 15:33

Всем добрый день! Нужно "сплюснуть" изображение. Причём если для GraphicsPath есть такое решение:
Код: Выделить всё
Dim myMatrix As New Matrix(1, 0, 0, 1, 0, 0)
myMatrix.Scale(1.0F, 0,5F)
myPath.Transform(myMatrix)

то для изображений, в частности класса Image, я не нашёл решения. Кто-то может подсказать, как можно средствами языка изменить соотношение сторон изображения, сплюснуть или растянуть картинку (bitmap)?
Буду рад видеть вас в моём блоге SolTau.ru, посвящённом технике и технологиям!

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 25.02.2014 (Вт) 11:29

Вот, например. Да и вообще, изучай метод DrawImage.
А ещё, есть вероятность, что можно применить New Bitmap с нужными параметрами.

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Сплюснуть изображение

Сообщение Admiralisimys » 26.02.2014 (Ср) 0:59

aave для подобных целей свойство Transform можно найти у объекта типа Graphics которым требуется отрисовать экземпляр класса Image.
Код: Выделить всё
Protected Overrides Sub OnPaint(ByVal pea As PaintEventArgs)
   Dim myMatrix As New Matrix(1, 0, 0, 1, 0, 0)
   myMatrix.Scale(1.0F, 0.5F)
   pea.Graphics.Transform = myMatrix
   pea.Graphics.DrawImage(img, Point.Empty)
End Sub


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList