Типы программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Перехват вызовов функций, Способы перехвата
NetBios in Delphi, у кого есть решение?
!!!!!!!!!!!!ПОМОГИТЕ&#, КТО ЗАНИМАЕТЬСЯ ВЗЛОМОМ ПРОГРАММ
Вопрос обо всем
Обсчёт трафика!
как вычислить IP адрес, programmnym putem!
Как можно получить звук с микрофона?, Пример кода
Удалить все файлы вместе с директорией
Сортировка ListView при нажатии на заголовок, Пример кода
Активная форма, Определить активная или нет
сведения ICQ, Как получить сведения о ICQ
Как работать с Outlook в Delphi, !!!!!!!!!!1ПОМОГИТЕ!!&
Работа с почтой, НУЖНА ПОМОЩЬ
Как найти окно по неполному названию, Пример кода
ОПЫТНЫЙ и не только помогите!!!, ДВА ВОПРОСА
Снова TQRCompositeReport
Как обновить данные в программе? [D3, Win95/98], Как обновить данные в программе? [D3, Wi
TreeView
Определение версии винды..., определение версии винды
Как узнать имя компьютера?, Пример кода
Как Вы относитесь к курящим девушкам?
Можно ли снести BIOS, Помогите пожайлуста!!!!!!
Как програмно прокрутить Memo, Пример кода
Как установить дополнительные компоненты ?
Цвета, Как перекрасить TPageControl и TTabCon.
Папка -> Файл, Как из папки сделать файл?
анимированные изображения
Как правильно закрыть..., ... модальную форму...
Редактирование Шрифтов для матричных принтеров, Способы и методы
exe формат
Как перебрать контролы..., ... на форме или в панели..
QuickReport
ПОМОГИТЕ ПОЖАЙЛУСТА, ОЧЕНЬ МНОГО ВОПРОСОВ
FAQ по форуму, почему-бы не сделать..., ...и не выложить где-нить...
Как спрятать окно..., ...при запуске приложения...
Копирование с поврежденного носителя..., Копирование с поврежденного носителя...
Как заказать сервисный процесс ?
Создание экземпляра TWebBrowser в runtime
FTP client, Киньте в меня сырцами клиента
Delphi и Excel!!! Срочно, Delphi и Excel!!! Срочно
Книги по Windows API, Кто может подсказать удачные?
Не глобальный хук, Не глобальный хук
Вращение для OpenGL, OGL
Delphi Games, Кто хочет сделать игру на Delphi, заходи
Обработка ошибок в ADODataSet
Отжор памяти и как с ним бороться :)
Плагины, Взаимодействие Программы с DLL
Запись цвета в реестр...
Как работать с Excel из Дельфи??
Одолевают сомнения, Периодический опрос буфера
Извлечение иконок из EXE и DLL, Пример кода
Нифига не понимаю...., API под XP и 98'ой ....:(
Как Вы относитесь к курящим девушкам?
Библиотека Ctr и Pentium2, Паскаль под Дос
Таскание окошка...
Определение IP. ЗАЧЕМ???
Перехват нажатия клавиши, Перехват нажатия клавиши
Диалог выбора директории aka папки!
Применение функции проверки..., Применение функции проверки...
Изменить иконку, Как изменить иконку у exe-файла?
Дядька Борланд - БРАКОДЕл или глюк в DELPHI 5.0, Глюк в Delphi 5
Насчет опроса про программирование в Delphi
Обработка BMP
Слежение за нажатием клавиш.
Считать текст с IE
Hook, hook
Чужой COM объект, Есть ли доступ?
Проги
Из файла в массив.....
Plug-in для IE, Как написать?

Платные хостинги     Раскрутка сайта     Книги по программированию


Обработка BMP

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Такая фигня. Есть рисунок. В нём, в принципе, три цвета. Но один постоянно меняется в незначительных пределах (белый - от серого (10-20%)до слегка (очень слегка) желтоватого, чёрный от серого (80-90%) до чёрного, фиолетовый - от синего до фиолетового). Требуется все точки в пределах одного цвета заменить нужным именно мне цветом, чтобы, например, фиолетовый стал фиолетовым, а не синим, большей частью, белый - белым и т. д. Как это сотворить? Лучше исходником, так как я в BMP не сильно разбираюсь. Варианты в Paint'е и подобные не предлагать ;-) Заранее благодарен!

- Я писал такую прогу. И вот как я ее сделал (не знаю, подойдет ли тебе такой вариант): я загружал в ТImage картинку, потом свойством Bitmap.Pixels[x,y] (не помню где ето свойство точно находится) считывал значение цвета. Далее все очень удобно писать на паскале:Код with Image1.Bitmap do  case Pixels[X,Y] of   [$000000..$00FF00] : Pixels[X,Y]:=green;   [$0FACC0..$F0BB0A] : Pixels[X,Y]:=red;....................highlightSyntax('delphizk0ZWY','delphi');И так далее перечисляешь все нужные тебе диапазоны.

- Не очень хорошее решение - медленное очень - по-пиксельно заменять... Даже на очень быстрых компьютерах будет заметна прорисовка. Под ДОСом было дело можно было взять 3 цвета, а после для каждого цвета менять палитру, наверное можно и под виндами как-то? А картинка произвольная или какие фигуры? А то можно выводить на экран сразу массивами...

- Насчет медленно - это не так страшно (бывает не очень критично, если надо просто перегнать картинки) да и по другому тут сложно что-нибудь придумать. Другое дело что вот такая записьКод case Pixels[X,Y] of  [$000000..$00FF00] : Pixels[X,Y]:=green;highlightSyntax('delphiOTdiNT','delphi');если я не ошибаюсь привидет к тому что все цвета начиная от 0 (самый черный) до $00FF00 (самый зеленый) станут просто зелеными, включая такие цвета как $008080(кажеться голубой...), $0000FF(синий кажеться...) и тд.С цветами я могу напутать, но принцип, думаю, понятен.в общем тут прийдеться расклавдывать цвет на составляющие и уже с ними работать...

- Конечно!!! Я ето просто так написал, даж е не задумываясь о "промежуточных значениях". Ведь это просто пример...Цитата Не очень хорошее решение - медленное очень - по-пиксельно заменять... Это правда, у меня в книге по АСМу есть пример похожей проги, там используется ММX-технология. Но это на АСМе. Зато быстро работает.

- Спасибо ответившим!Только вот чего-то я не нашёл свойство Pixels[X,Y]...To neutrino: давай и на асме - тоже интересно =)

- Это свойство объекта Canvas

- Я тебе на мыльце скину. Слишком длинный этот код.

- Конечно можно! И вот как:Если это  BMP то можно с палитрой работать и под Windows.Вообще вот общий формат BMP:Заголовок файлаЗаголовок изображенияПАЛИТРА!ДанныеТеперь можно считать файл BMP и работать с ним как с совокупностью записей. Каких? А вот каких:Информационный заголовок:Код Type BMPInfoHeader = record  Field : word; // Всегда "BM" можно в 16-тиричном редакторе смотреть  FileSize : LongInt; // это как раз говорит о том, что для больших файлов способ "case Pixels()" очень медленный  Reserved1 : Word; // тут 0  Reserved2 : Word; // тут 0 тоже, хотя некоторые программы любят запихнуть сюда что-нибудь  DataOffset : LongInt; // это смещение данных относительно начала файла (BOF)end;highlightSyntax('delphiI5ODQ2','delphi');Если при типизированном чтении из файла что-то не так, значит это не BMP (для проверки).Информационный заголовок изображения:Код type ImgInfoHeader = record  HeaderSize : LongInt; // размер заголовка = 40  ImgWidth : LongInt;  ImgHeight : LongInt;  qqq : Word;  Compression : LongInt; // какое сжатие, 0 - без оного.  BitmapSize : LongInt; // обычно ноль, но данные есть: может глюк :)  HResolution : LongInt; // в пикселах на метр  VResolution : LongInt; // в пикселах на метр  UsedColors : LongInt; // нужно, чтобы было не TrueColor, иначе палитру не поменяешь :(  SignificantColors : LongInt; // количество значащих цветов, нужно при отображении на мониторе с меньшим кол-ом поддерживаемых цветовend;highlightSyntax('delphiOWUwYjd','delphi');Ну и то что нужно поменять, это самое находится на смещении 0036h относительно начала:Код type BMPRGB = record  Blue : BYte;  // Синий, диапазон 0-255  Green : Byte; // и т.д.  Red : Byte;  bred : Byte;end;highlightSyntax('delphimVhYWYzY','delphi');Вот в последней записи и ковыряйся дорогой товорищ.СУВ.ЗЫ. Милая старушка-склеротик позвала в гости подружек однолеток и чтобы не забыть напоить их чаем написала мелом на кухне: угостить гостей чаем. Пришли гости, старушка на кухню, читает, наливает чай и к гостям, посуду уносит на кухню и опять читает, поит...И так раз 20. Старушки ушли, и по пути разговаривают:-Надо же, сидели у Манюни 3 часа, а она нас даже чаем не напоила!!!-А разве мы у Манюни были?

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с учебник | программирование сотовых | офшорное программирование | примеры линейное программирование | анализ программирование | программирование делфи | cgi программирование | программирование atmel | школа программирования | типы программирования | практика программирования | программирование autocad | программирование профессиональное | обзор языков программирования | среда программирования delphi | задачи целочисленного программирования | характеристика языка программирования | стиль программирования | постановка задачи программирование | программирование серверов | программирование диплом скачать | применение программирования | Ссылки

Все про практика программирования