Member 14548583 Ответов: 1

Как изменить ширину без обрезки изображения в VB.NET-что?


Я хочу уменьшить ширину изображения, не теряя его качества и не обрезая его. Когда я пытаюсь уменьшить ширину изображения, оно становится размытым. Как я могу решить эту проблему? Это то, что я пытался сделать до сих пор.

Что я уже пробовал:

Dim barcode As Barcode128

barcode = BarcodeFactory.GetBarcode(Symbology.Code128)

barcode.Number = TextBox1.Text.ToUpper

barcode.Height = 120 Dim bitmap As Bitmap = barcode.Render()

Dim Cr As New Rectangle(5, 55, 130, 80) 'upperleft(x),upperleft(-y),right(-x),bottom(y)

Dim OrignalImage As Bitmap

OrignalImage = bitmap

Dim CropImage = New Bitmap(CropRect.Width, CropRect.Height

Using grp = Graphics.FromImage(CropImage)

grp.CompositingQuality = Drawing2D.CompositingQuality.HighQuality

grp.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic

grp.SmoothingMode = Drawing2D.SmoothingMode.HighQuality

grp.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality

grp.DrawImage(OrignalImage,New Rectangle(7,5,Cr.Width,Cr.Height),Cr, GraphicsUnit.Pixel)

PicBarCode.Image = CropImage

CropImage.Save("D:\bc.jpeg")

grp.Dispose()
End Using

Gerry Schmitz

Вы не можете изменить размер только одного измерения и ожидать сохранения "соотношения сторон".

Richard Deeming

Сказать, что вы хотите уменьшить ширину изображения без потери качества и без обрезки, это все равно что сказать, что вы хотите, чтобы все ваши покупки были в одной сумке, но вы не хотите, чтобы эта сумка была тяжелой.

Если вы уменьшите размеры изображения, вы неизбежно потеряете некоторую информацию.

Sandeep Mewara

:смех: :большой палец вверх:

1 Ответов

Рейтинг:
2

OriginalGriff

Скажите мне вот что: если у меня есть кубический ящик с помидорами, и я сижу на нем, понизив его высоту наполовину, являются ли помидоры внутри все еще круглыми и совершенными?

Конечно, нет: я значительно уменьшил объем коробки и раздавил фрукты внутри.

Вот что происходит, когда вы уменьшаете ширину изображения, не меняя никакого другого измерения: пиксели "сплющиваются", и это означает, что информация должна быть отброшена, чтобы соответствовать им. Это вызывает "размытие", которое вы заметили, и является фундаментальным для всех изображений.

Вы не можете уменьшить ширину в одиночку, не выбрасывая пиксели: либо "сжимая их вместе", либо полностью вырезая их из изображения.