Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 01.11.2022
Сообщений: 93

Нужно качественно и четко пикселизировать изображение

21.06.2024, 13:06. Показов 1506. Ответов 22

Студворк — интернет-сервис помощи студентам
Проблема такая: у меня есть bitmap изображение c н-ным разрешением и функция, которая должна сжать его до размера 16х16, и сжатое изображение потом выводится на picturebox. Функция:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private Bitmap ResizeImage(Bitmap image, int width, int height)
{
    var destRect = new Rectangle(0, 0, width, height);
    var destImage = new Bitmap(width, height);
 
    destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
 
    using (var graphics = Graphics.FromImage(destImage))
    {
        graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
        graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; 
        graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
 
        graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
    }
    return destImage;
}
функция работает, но изображение размытое и с артефактами - где-то пикселей нет, где-то съехало. Подскажите, как можно улучшить эту функцию?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.06.2024, 13:06
Ответы с готовыми решениями:

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

На изображение накладываются фрагменты изображений послойно. После этого из всех слоев нужно получить одно изображение
Здравствуйте! Есть заданное изображение. На изображение накладываются фрагменты изображений послойно. После этого из всех слоев нужно...

Нужно сделать так чтобы блок "text" был четко слева от блока "picture"
не получается сделать так чтобы div text был четко слева от div picture. заранее спасибо!) <div class="quatro"> ...

22
 Аватар для roach1967
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
26.06.2024, 07:14
Студворк — интернет-сервис помощи студентам
Mr_Earner_228, Color(0, 0, 0) - это и есть чёрный цвет. У анимационных GIF будет браться только первый кадр. Так-что результат может быть любым, отличным от желаемого...
0
1 / 1 / 0
Регистрация: 01.11.2022
Сообщений: 93
26.06.2024, 11:41  [ТС]
То есть, это не исправить?
0
 Аватар для roach1967
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
26.06.2024, 11:53
Цитата Сообщение от Mr_Earner_228 Посмотреть сообщение
То есть, это не исправить?
Можно поступить так:
- в исходной картинке пробежаться по всем пикселам (через тот-же ImageWrapper), и когда есть прозрачность, заменять на свой непрозрачный цвет: белый/серый/чёрный или ещё какой, подбирая, исходя из результата.
- для анимационных картинок, может-быть, стоит добавить возможность выбора номера кадра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.06.2024, 11:53

Таблицы ЧЕТКО фиксированного размера
Здравствуйте, подскажите пожалуйста как мне создать таблицы с одинаковой заголовочной информацией, но разделенные другими блоками. ...

Выровнять элементы четко по центру
Я подозреваю, что решение какое-то жутко простое, но никак не могу понять, почему не получается... В общем, есть картинка пустого...

Точно и чётко сформулируйте условия...
Точно и чётко сформулируйте условия задачи, которая решается в данной программе: Program Kr_1; Const NMax=100; Type Linmass...

Точно и чётко сформулировать условие задачи
program dfd; var n, vs, st:longint; begin readln(n); if n>9 then begin vs:=n; st:=-1; while vs>9 do begin...

Нужно нарисовать движущееся изображение
Нужно нарисовать движущееся изображениею Я для этого использовал два комп-та Image наложенных друг на друга, на канве нижнего прорисован...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru