Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2010, 10:54   #1
wr_vu
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 15
По умолчанию Работа с BMP рисунком.

Имеется задний фон
Мне нужно нарисовать на доске фигуру по ее образу без квадрата заливки, по маске на белом фоне, которая также имееться
Подскажите пожалуйста, какие API -функции я должен изпользовать что бы выглядело не так: ,
а вот так:
программирую на Ассемблер.
С уважением Юрий.

Последний раз редактировалось wr_vu; 30.09.2010 в 11:55.
wr_vu вне форума Ответить с цитированием
Старый 30.09.2010, 13:32   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Посмотри группу MaskBlt, BitBlt, PlgBlt...
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 30.09.2010, 16:44   #3
BVOG
Python,C++,ASM,Php
Пользователь
 
Аватар для BVOG
 
Регистрация: 29.08.2010
Сообщений: 58
По умолчанию

Можно просто делать проверку, пикселя, то есть, если байт цвета белый, то не выводить, иначе выводим цвет к указанные координаты, не идеал, но помогает.
Хакер - это не ламер с завышенным самомнением, а программист с заниженной зарплатой.
Нелегка и неказиста жизнь простого программиста.
BVOG вне форума Ответить с цитированием
Старый 30.09.2010, 19:29   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Хм... Вы не уточнили куда делается вывод...
Если в буферный битмап - то можно через указатели напрямую в памяти (диб-секции)... Так возможно даже быстрее будет (если пооптимизировать)...
А если в HDC - то ещё такая функция есть: TransparentBlt... Возможно даже она подойдёт лучше - не нужно будет отдельно маску хранить...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.10.2010, 05:46   #5
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

BVOG
Если делать проверку, пикселя, если байт цвета белый, то не выводить, иначе выводим цвет к указанные координаты, тогда белые фигуры сольются с доской, самое правильное, это TransparentBlt как предлагает DomiNick
Mikl___ вне форума Ответить с цитированием
Старый 01.10.2010, 12:52   #6
wr_vu
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
BVOG
Если делать проверку, пикселя, если байт цвета белый, то не выводить, иначе выводим цвет к указанные координаты, тогда белые фигуры сольются с доской, самое правильное, это TransparentBlt как предлагает DomiNick
К сожалению TransparentBlt уберает весь белый цвет, чего делать не нужно, получаеться вот что: ,
А правильный результат нужен такой: .
wr_vu вне форума Ответить с цитированием
Старый 01.10.2010, 13:05   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

wr_vu
Не учел, тогда еще один выход -- сделайте фон рисунка шахматных фигур малиновым (или любым другим, но не черным и не белым) и тогда TransparentBlt будет работать нормально
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с рисунком 1o1man Помощь студентам 2 22.08.2010 16:36
работа с bmp файлами в С++ blackbanny Помощь студентам 5 16.06.2010 09:04
Работа с BMP файлами в PHP utrnjhyfgjktjy Помощь студентам 0 27.04.2010 00:58
работа с .bmp DeadWorm Общие вопросы C/C++ 4 16.04.2009 14:09
Работа Delphi с рисунком в Excel? Alex-as-hac Общие вопросы Delphi 0 02.12.2008 09:59