Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 585

Вывод текста на Canvas в режиме XOR

30.06.2014, 17:20. Показов 1576. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как мне вывести текст на Canvas в режиме XOR? (Цель: чтобы текст всегда было видно вне зависимости от фонового изображения).
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2014, 17:20
Ответы с готовыми решениями:

Вывод текста в canvas
Здравствуйте, Подскажите как решить эту задачу .Суть вопроса - есть строка записанная в массив letter и при попытки вывода ,при помощи...

Вывод многострочного текста с табуляцией на Canvas
Делаю так: procedure TForm1.N2Click(Sender: TObject); var I: Integer; Str: string; R: TRect; begin if...

Вывод текста в графическом режиме
можете подсказать пожалуйста как можно вывести текст в графическом моде

3
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
01.07.2014, 20:08
я думаю, что нужно взять значение пикселя и сделать XOR этого пикселя.но ничего утверждать не могу...
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
01.07.2014, 21:40
Лучший ответ Сообщение было отмечено BRcr как решение

Решение

Ну, и как будет выглядеть обращенный текст на цветном изображении? Как хамелеон. И это явно не повысит его читабельность. Лучше уж выводить текст в рамке с заливкой.

Смотри сам:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    String text( "TEST text OUT TEST text OUT TEST text OUT" );
    int w( Canvas->TextWidth( text ) + 50 ), h( Canvas->TextHeight( text ) );
    HDC hdcmem( CreateCompatibleDC( Canvas->Handle ) );
    HBITMAP hbitmap( CreateBitmap( w, h, 1, 1, NULL ) );
 
    std::auto_ptr < Graphics::TBitmap > bmp( new Graphics::TBitmap( ) );
    bmp->LoadFromFile( "C:\\Users\\BRcr\\Pictures\\6bdb5b7328f8_bmp.bmp" );
    Canvas->Draw( 100, 0, bmp.get( ) );
 
    SetTextColor( hdcmem, RGB( 255, 255, 255 ) );
    SetBkColor( hdcmem, RGB( 0, 0, 0 ) );
 
    hbitmap = ( HBITMAP )SelectObject( hdcmem, hbitmap );
 
    ExtTextOut( hdcmem, 0, 0, 0, NULL, text.c_str( ), text.Length( ), NULL );
    BitBlt( Canvas->Handle, 10, 25, w, h, hdcmem, 0, 0, SRCINVERT );
 
    hbitmap = ( HBITMAP )SelectObject( hdcmem, hbitmap );
    DeleteObject( hbitmap );
    DeleteDC( hdcmem );
Миниатюры
Вывод текста на Canvas в режиме XOR  
2
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 585
07.07.2014, 18:21  [ТС]
Ваш код у меня заработал только после того, как я поменял строчки
C++
1
2
SetTextColor( hdcmem, RGB( 255, 255, 255 ) );
    SetBkColor( hdcmem, RGB( 0, 0, 0 ) );
на
C++
1
2
                SetTextColor( hdcmem, RGB( 0, 0, 0 ) );
                SetBkColor( hdcmem, RGB( 255, 255, 255 ) );
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2014, 18:21
Помогаю со студенческими работами здесь

Вывод текста в графическом режиме
Покажите пожалуйста как вывести в графическом режиме текст, чтобы было красиво:). Мне нужно вывести фамилию Петров

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

вывод текста в графическом режиме
Помогите пожалуйста не правильно выводит текст вот эта процедура: void wiwod_texta(char b,int x,int y) { int n=strlen(b); ...

Вывод текста в графическом режиме (tasm)
собственно весь вопрос: как выводить текст в графическом режиме

Вывод цветного текста в графическом режиме
Помогите написать задачку) Юзаю PascalABC)) Суть: Вводится слово. Вывести гласные буквы слова красным цветом, а звонкие и глухие...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru