![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Иннокентий |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
||||
|
||||
Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Ок. Сделай то-же самое с фоткой.
-------------------- Я желаю всем Счастья! |
|||
|
||||
Иннокентий |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
||||
|
||||
Akina |
|
||||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Я что-то не понимаю - куда копья ломаем?
256 градаций серого - это предел. То есть в файле можно настрогать и 16 миллионов несовпадающих оттенков (создать собственную палитру) - но вывести их на экран или печать не получится просто потому, что нет такого видеорежима или режима печати. Да и нечем - нет программных средств работы с такой палитрой и аппаратных средств ее отображения. Соответственно однозначное преобразование 256 градаций серого (8 бит на точку) в полноцветное (24-битное) - задача невозможная. Будут горы вариантов, каждый из которых - совершенно легальный. Хотя при этом возможно решение задачи выбора вырианта.
Понятно что простейший вариант - это полусумма ака среднее арифметическое по каждому цветовому компоненту. Кстати, это подходит и для градаций серого. Впрочем простейший - не значит правильный.
Ну это совсем просто - откусывание младших битов каждой цветовой составляющей. С округлением к ближайшему.
Правильно, остальные сочетания - не серые. Цветные. Нет, не приходится передавать три картинки. Передается одна. 24 бита на точку. Вы предлагаете упаковать их в 8 бит и на другой стороне снова развернуть. Так вот - упаковать можно, а развернуть БЕЗ ПОТЕРИ - не получится. Копия будет отличаться от оригинала. А если родить формат с 16 миллионами градаций серого - какая разница какие 24 бита передавать, цветные или серые? размер тот же. Не зря были рождены упакованные форматы - начиная от RLE и кончая JPG. Причем обрати внимание - где допустимо управление степенью сжатия, непременно указывается, что чем выше степень сжатия, тем хуже качество копии. А "и рыбку съесть, и косточкой не подавиться" - это абсолютный и невозможный импоссибль.Каждый, кто заявлял об успехе на подобного рода пути, по ближайшем рассмотрении оказывался шарлатаном, хорошо если заблуждающемся, а не сознательным... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||||
|
|||||||||
Иннокентий |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Цитата(Иннокентий @ 27.2.2006, 05:21): «Как полноцветную картинку с расширением (*.bmp) перевести из 16 миллионов цветов в - 256 цветов или 128 или в 64 или 32».
Цитата: Akina «Ну это совсем просто - откусывание младших битов каждой цветовой составляющей. С округлением к ближайшему». Мир вам! Научи, мня как это сделать правильно в программном коде на Visual Basic. Покажи простенький пример, если у тебя такой имеется. Цитата: Akina «256 градаций серого - это предел. То есть в файле можно настрогать и 16 миллионов несовпадающих оттенков (создать собственную палитру) - но вывести их на экран или печать не получится просто потому, что нет такого видеорежима или режима печати. Да и нечем - нет программных средств работы с такой палитрой и аппаратных средств ее отображения». Я это и сам понял, оттого и задал Вам этот щекотливый вопрос, а в друг!... Цитата: Akina «Соответственно однозначное преобразование 256 градаций серого (8 бит на точку) в полноцветное (24-битное) - задача невозможная. Будут горы вариантов, каждый из которых - совершенно легальный. Хотя при этом возможно решение задачи выбора варианта». Нет ничего невозможного, даже иногда мертвые встают из гробов своих, а мы не можем исправить даже ошибки дел рук своих. Посмотри на маленькое семя, оно такое крошечное, но из него вырастает больное полноценное дерево. Поэтому так говорить: «задача невозможная», в нашем деле не уместно. Цитата: Akina «Нет, не приходится передавать три картинки. Передается одна. 24 бита на точку. Вы предлагаете упаковать их в 8 бит и на другой стороне снова развернуть. Так вот - упаковать можно, а развернуть БЕЗ ПОТЕРИ - не получится. Копия будет отличаться от оригинала. А если родить формат с 16 миллионами градаций серого - какая разница какие 24 бита передавать, цветные или серые? размер тот же». Неважно три картинки, или три раза по 8-(24),суть одно, у нас есть в наличии только 8 полноценных бит, но и в этом уже достаточно, чтобы можно было найти то самое умное решение. Помогите мне с решением простых примерах, а я Вам помогу решить весьма сложные. Начни с этого: Цитата: Akina «Ну это совсем просто - откусывание младших битов каждой цветовой составляющей. С округлением к ближайшему». Цитата: Akina «Каждый, кто заявлял об успехе на подобного рода пути, по ближайшем рассмотрении оказывался шарлатаном, хорошо если заблуждающемся, а не сознательным...». |
|||
|
||||
Иннокентий |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Это программа позволяет найти, между двух разных точек по цвету общую среднюю по цвету точку.
Можете подсказать мне иной вариант? Как найти между двумя известными точками, разными по цвету, несколько промежуточных точек в цикле? Буду Вам весьма благодарен. Иннокентий <[email protected]> |
|||
|
||||
Akina |
|
||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Функция преобразования RGB в Color имется - RGB(red, green, blue). Обратной нет, но ее можно создать, вернее не функцию, а процедуру - ибо нужно получить массив либо 3 переменных. А заодно функцию выделения нужного компонента
А затем
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
SCINER2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 28.2.2006 Репутация: нет Всего: нет |
В десять раз быстрее вышеперечисленных методов!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |