![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] System.Drawing2D при изменение размера изображения получается полупрозрачный край |
|
Разное - [решено] System.Drawing2D при изменение размера изображения получается полупрозрачный край
|
Старожил Сообщения: 221 |
Привет. При изменении размера изображения средствами System.Drawing.Drawing2D на выходе у изображения получается полупрозрачный край в толщину в 1 пиксель. Как не допустить появления этой кромки?
![]() Черновик кода: [Reflection.Assembly]::LoadFrom( (Resolve-Path (".\TagLibSharp.dll"))) | Out-Null $Song = [TagLib.File]::Create((resolve-path ".\input\Moon Lights.flac")) [TagLib.IPicture[]]$Pictures = $Song.Tag.Pictures $bmp = New-Object IO.MemoryStream $targetSize = 1280 $Quality= 100 $img = [System.Drawing.Image]::FromStream([IO.MemoryStream]$Pictures[0].Data.data) $CanvasWidth = $targetSize $CanvasHeight = $targetSize #Encoder parameter for image quality $EncoderParam = [System.Drawing.Imaging.Encoder]::Quality $EncoderParamSet = New-Object System.Drawing.Imaging.EncoderParameters(1) $EncoderParamSet.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter($EncoderParam, $Quality) # get codec $Codec = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | Where{$_.MimeType -eq 'image/jpeg'} #compute the final ratio to use $ratioX = $CanvasWidth / $img.Width; $ratioY = $CanvasHeight / $img.Height; $ratio = $ratioY if ($ratioX -le $ratioY) { $ratio = $ratioX } $newWidth = [int] ($img.Width * $ratio) $newHeight = [int] ($img.Height * $ratio) $bmpResized = New-Object System.Drawing.Bitmap($newWidth, $newHeight) $graph = [System.Drawing.Graphics]::FromImage($bmpResized) $graph.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic $graph.Clear([System.Drawing.Color]::White) $graph.DrawImage($img, 0, 0, $newWidth, $newHeight) #save to file $bmpResized.Save($bmp, $Codec, $EncoderParamSet) $bmpResized.Dispose() $img.Dispose() $byte_vec = New-Object -TypeName TagLib.ByteVector -ArgumentList $bmp.ToArray() $picture = New-Object -TypeName TagLib.Picture -ArgumentList $byte_vec $Pictures[0]=$picture $song.Tag.Pictures=$Pictures $song.Save() |
|
Отправлено: 13:43, 25-02-2021 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
IPB v3.4.6 - Автоматическое изменение размера изображения в процентном соотношении | JimmOnLine | Вебмастеру | 0 | 27-08-2015 06:19 | |
Разное - Изменение размера изображения альбома в Windows Media 12 | kikos06 | Оформление Windows 11/ 10 / 8 / 7 / Vista | 1 | 19-06-2011 13:14 | |
Изменение размера изображения с помощью PHP. | котвася | Вебмастеру | 1 | 19-12-2010 23:06 | |
Установка - Изменение размера диска при установке XP | mihan81 | Microsoft Windows 2000/XP | 7 | 26-09-2009 07:19 | |
полупрозрачный фон с повторением фонового изображения | Vlad Drakula | Вебмастеру | 7 | 18-03-2006 11:28 |
|