Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056

Форматированный вывод на консоль строки текста курсив+жирный+подчеркнутый

27.04.2020, 17:44. Показов 4193. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
прив! нужно разработать программу для форматированного вывода строки текста К+Ж+П (курсив+жирный+подчеркнутый)
каким способом лучше сделать? существуют ли такие знаки в знакогенераторе или нужно самому создавать шрифт?
буду рад вашему ответу..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2020, 17:44
Ответы с готовыми решениями:

Вывести в окно консоли форматированный текст (под форматированным понимается жирный, курсив и зачеркнутый)
Нужно сделать под все процессоры, не могу понять как, нашел что через LOGFONT но не получается совсем, по сути нужно вывести любой текст и...

Жирный + Курсив + Подчеркнутый
Кнопки из текстового редактора procedure TForm1.SpeedButton5Click(Sender: TObject); begin if t=false then begin ...

Жирный, подчеркнутый, курсив шрифт
Здравствуйте! Помогите разобраться, я в форме нашел как изменять слиль шрифта, там свойство "Font" а как это записать теперь...

11
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
27.04.2020, 20:19
Это для какой ОС? И куда выводить - на игольчатый принтер при помощи ESC-последовательностей?
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
27.04.2020, 20:41  [ТС]
ФедосеевПавел, да все намного проще.. обычный вывод на консоль в досе.. что посоветуешь?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
27.04.2020, 20:55
VGA адаптер в DOS позволяет выводить два набора символов на экран - один обычный, другой пользовательский.
Вот этот второй можно сделать требуемым курсивным.

Я даже как-то делал программку сравнения шрифтов для DOS с выводом обоих символов на экран.

Можно выводить символы в графическом режиме по точкам из образа знакогенератора. Тогда число шрифтов совсем не ограничено.

Как-то попадались программки, преобразующие шрифт из знакогенератора в курсив, но проще сделать собственный.
Мне нравился редактор шрифтов FontMania
https://pascal.sources.ru/screen/font_m21.htm
Там ещё и другие редакторы были.
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
27.04.2020, 21:12  [ТС]
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Вот этот второй можно сделать требуемым курсивным
нужно не только К, а одновременно К+Ж+П
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
выводить символы в графическом режиме по точкам из образа знакогенератора
так вот и спрашиваю как до туда добраться, где такой образ находится?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
27.04.2020, 21:32
Вывод строки по точкам в графическом режиме
http://www.cyberforum.ru/asm-b... 10073.html
http://www.cyberforum.ru/assem... 43882.html
Вычисление выражение и прорисовка ответа в овале
Вычисление выражение и прорисовка ответа в овале

А "свой" знакогенератор будет находится в сегменте данных.

Можно всё же сделать вывод 512 символов (два знакогенератора), один штатный, а другой самодельный.

Я завтра соберусь с мыслями и наберу пример на текстовый режим 512 символов.
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
27.04.2020, 21:45  [ТС]
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
А "свой" знакогенератор будет находится в сегменте данных
это и ежу понятно..
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Я завтра соберусь с мыслями и наберу пример
с нетерпением будем ждать.. только лучше использовать графический режим, а не текстовый..
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
на текстовый режим 512 символов
а откуда вообще взялось столько много символов?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
27.04.2020, 21:55
Это особенность VGA адаптеров.
Если для символа атрибут мерцания не установлен - выводит обычным шрифтом, а если установлен - то шрифтом из какой-то битовой плоскости памяти. Так получается 2 набора символов знакогенератора.

https://pascal.sources.ru/screen/512chr.htm
https://pascal.sources.ru/screen/512char.htm
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
27.04.2020, 22:15  [ТС]
ФедосеевПавел, ладно.. надеюсь, вы завтра сдержите свое обещание по написанию примера..
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
28.04.2020, 12:22
Оказывается, уже многое забыл.

Из файла загружается шрифт 8x16.
Он устанавливается в плоскость (блок) 1 (fn=1100h int 10h)
При этом, основной шрифт остаётся в блоке 0.
Далее, вызываю функцию 1103h, которая устанавливает каким шрифтом выводить в зависимости от цвета выводимого символа.

Для демонстрации цветного вывода использую fn=1301h int 10h оформленную процедурой и макрос для её вызова.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
.model  medium
 
.stack  200h
 
.data
        ;цвет символов
        Black           equ     0
        Blue            equ     1
        Green           equ     2
        Cyan            equ     3
        Red             equ     4
        Magenta         equ     5
        Brown           equ     6
        LightGray       equ     7
        DarkGray        equ     8
        LightBlue       equ     9
        LightGreen      equ     10
        LightCyan       equ     11
        LightRed        equ     12
        LightMagenta    equ     13
        Yellow          equ     14
        White           equ     15
        ;сообщения об ошибках при работе с файлами
        errFileOpenRd   db      'File open (for read) error', '$'
        errFileOpenWr   db      'File open (for write) error', '$'
        errFileRead     db      'File read error', '$'
        errFileWrite    db      'File write error', '$'
        errFileClose    db      'File close error', '$'
        ;сообщения программы
        CrLf            db      0Dh, 0Ah, '$'
        msgPressAnyKey  db      0Dh, 0Ah, 'Press any key to exit...', '$'
        ;имя файла загружаемого шрифта
        aszFileName     db      'MyFont.fnt', 0
        ;тестовая строка
        asString        db      'Test String '
        sLen            =       $-asString
.data?
        InFileHandler   dw      ?
        __BUF_SIZE__    equ     4096
        Buffer          db      __BUF_SIZE__ dup(?)
.code
 
;макрос для упрощения вызова процедур с параметрами
invoke  macro   CallProc, Params
        IRP     P, <Params>
                mov     ax,     P
                push    ax
        endm
        call    CallProc
endm
 
;вывод цветной строки на экран с текущей позиции
;на входе:
;  lpString - дальний указатель (сегмент+смещение) на строку
;  StrLen   - длина строки
;  Color    - цвет символов строки (атрибут)
ShowColorString proc    near
        lpString        equ     [bp+4]
        StrLen          equ     [bp+8]
        Color           equ     [bp+10]
        push    bp
        mov     bp,     sp
 
        push    ax
        push    bx
        push    cx
        push    dx
        push    bp
        push    es
 
        ;получение текущей позиции курсора
        mov     ah,     03h     ;читать позицию курсора
        mov     bh,     00h     ;для видеостраницы
        int     10h             ;выход: dh,dl - позиция курсора
        ;вывод строки
        mov     ax,     1301h   ;функция вывода строки
        mov     bx,     Color   ;bl - цвет текста, сразу меняем
        mov     bh,     00h     ;страница видеопамяти
        mov     dl,     dl      ;позиция X экрана (не меняем - используем текущую)
        mov     dh,     dh      ;позиция Y экрана (не меняем - используем текущую)
        mov     cx,     StrLen  ;длина строки
        les     bp,     lpString;в es:bp помещаем адрес начала строки
        int     10h
 
        pop     es              ;восстанавливаем регистры
        pop     bp
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        pop     bp
        ret     8
ShowColorString endp
 
 
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        ;загружаем файл со шрифтом в память
        mov     ax,     3D00h   ;открыть для чтения
        lea     dx,     [aszFileName]
        int     21h
        jnc     @@InFileOpenOk
                mov     ah,     09h
                lea     dx,     [errFileOpenRd]
                jmp     @@Exit
        @@InFileOpenOk:
        mov     [InFileHandler],        ax
        ;чтение из файла
        mov     ah,     3Fh
        mov     bx,     [InFileHandler]
        mov     cx,     __BUF_SIZE__
        lea     dx,     [Buffer]
        int     21h
        jnc     @@InFileReadOk
                ;если ошибка чтения - вывести диагностическое сообщение
                ;и прекратить обработку
                mov     ah,     09h
                lea     dx,     [errFileRead]
                int     21h
                jmp     @@Exit
        @@InFileReadOk:
        ;закрытие файла
        mov     ah,     3Eh
        mov     bx,     [InFileHandler]
        int     21h
        jnc     @@InFileCloseOk
                mov     ah,     09h
                lea     dx,     [errFileClose]
                int     21h
                jmp     @@Exit
        @@InFileCloseOk:
 
        ;загрузить шрифт из файла в знакогенератор в блок 1
        mov     ax,     1100h
        mov     bl,     01h     ;font block to load (0 to 4; 4 if 256K EGA memory)
        mov     bh,     16      ;count of bytes per character pattern (eg, 8 or 14)
        mov     cx,     256     ;кол-во симв в табл.
        mov     dl,     0;      ; код первого знака    -+
        mov     dh,     0       ;-----------------------+
        push    es              ; ES:BP адр начала табл.
        push    ds
        pop     es
        mov     bp,     offset Buffer
        int     10h
        pop     es
 
        ;устанавливает, шрифтом из какого блока памяти будет
        ;выводится текст в зависимости от цвета символа 0-7/8-15.
        ;Если цвет символа 0-7, то выбирается шрифт из блока NBlock,
        ;а если цвет фона символа 8-15, то выбирается шрифт из блока NBlockLight.
        ;Шрифты в блоки загружаются функциями 1100h, 1101h, 1102h, 1104h
        ;bl=NBlock OR (NBlockLight SHL 2)
        mov     ax,     1103h   ;int 10h, функция 11h, подфункция 03h
        mov     bl,     04h     ;основной шрифт будет при цвете 0-7,
                                ;дополнительный будет при цвете 8-15
                                ;биты 0...1 - для номера основного
                                ;биты 2...3 - для номера дополнительного
        int     10h
 
        ;демонстрация
        invoke  ShowColorString, <Yellow, sLen, ds, offset asString>
        invoke  ShowColorString, <Brown, sLen, ds, offset asString>
 
@@Exit:
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
        mov     ah,     00h
        int     16h
        ;установкой текстового режима сбрасывает настройки шрифтов
        mov     ax,     0003h
        int     10h
        ;завершение программы
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main
Шрифт 8x16 размером 4096 байт взял из
https://pascal.sources.ru/screen/fontdes.htm
В том же разделе исходников существуют и другие наборы шрифтов и другие редакторы шрифтов.
Лично мне нравился FontMania https://pascal.sources.ru/screen/font_m21.htm

Добавлено через 14 минут
Шрифт Italic можете взять из KeyRus http://old-dos.ru/files/file_328.html самого большого архива.
Называется VGA-ITA.FNT
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
16.07.2021, 21:15
proc3nt, а какое решение было получено в итоге?

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

Была тема
В графическом режиме вывести текстовую строку под наклоном
но она о графическом режиме и, несмотря на предложенные алгоритмы, продолжения не получила. Думаю, что причина - более сложный алгоритм получения курсива из "обычного" шрифта.

А какое решение в итоге получилось у Вас?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8657 / 4491 / 1670
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
31.07.2022, 22:53
Читал сегодня материалы на сайте http://hackipedia.org
а конкретнее
Exploring the EGA, part 1 by Charles Petzold (PC magazine) (1986-08)
В статье несколько любопытных простых примеров по TSR, EGA, но меня заинтересовал исходник во второй части.
EGAITAL - программа заменяет текущий шрифт курсивным.
In EGAITAL. the first INT 10h call (where AX equals 1130h) returns a pointer to the 8 by 14 font stored in the EGA BIOS. You can get a pointer to the 8 by 8 font by setting BL to 3, and to the 9 by 14 font extension by setting BL to 5. This function call also returns the current number of character rows (less 1) in register DL and the current number of scan lines per character (called "POINTS" in the BIOS documentation) in register CX.
Next, EGAITAL transfers the font to local memory and, in the process, shifts each byte to tilt the character to the right. (If you think that doing bit manipulations on existing fonts is a flaky way to create new fonts, that's how Microsoft Word does italics in EGA graphics modes, although Word uses a different algorithm that is not quite as extreme.) Finally, EGAITAL makes another BIOS call to load the font. This is Function Call 1 In (in AH), subfunction OOh (in AL), which is used to load a user font when the number of displayable rows docs not change. Although you're loading all 256 characters starting at ASCII code 00. you can load only part of a character set by setting registers CX and DX appropriately.
You can go back to the normal font by resetting the video mode with EGAMODE (a program shown in part 1 of this article) or by executing the program EGA8X14 shown in Figure 2. This latter program uses another, simpler BIOS call in which register AH again equals 11h but in which AL equals 01. This loads the normal 8 by 14 font. If AL were 02, the 8 by 8 font would be loaded, but you wouldn't be happy with the way it looked. Since the EGA is still using 14 scan lines per character, the bottom 6 scan lines will display the bottom of the 8 by 14 font.
Incidentally, when you execute these programs, you may see a brief contraction of your display (and it may even roll over once) when the font is loaded. This is normal. The EGA BIOS has to change the video mode to one of the internal modes (11 and 12) so it can access the video memory to load the font. Then it must change the mode back to the original mode.
.......
EGAITAL can actually take a parameter that specifies the block (0 through 3) into which to load the font. If no parameter is specified, it loads the font into block 0. But now try running
Windows Batch file
1
EGAITAL 1
Earlier, when we ran EGAITAL with no parameter, the text on the screen became italic. Now, nothing happens. The italic font has been loaded into the EGA memory, but in block 1 instead of block 0. Block 0 still contains the normal font.
Now we have to tell the EGA two things: first, that we want block 0 to be used for low-intensity characters and block 1 to be used for high intensity; second, that we want to suppress the normal use of the intensity bit in the attribute byte.
Исходник предназначен для получения исполняемого файла при помощи debug, приведу и его и команду для получения программы, но сразу отмечу, что мнемоники неоднозначно преобразуются в код, поэтому полученная программа у меня в DOSBox и debug (от автора Japeth) выдала некорректные результаты:
- в DOSBox текущий шрифт не 8x14, как у автора, а 8x16, поэтому преобразование некорректное
- двоичный код получился с совершенно другими адресами, поэтому программа зависает
Кликните здесь для просмотра всего текста
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
;EGAITAL.TXT
;Exploring the EGA, part 2 by Charles Petzold (PC magazine) (1986-09-16)
;This EGAITAL program will change your EGA font to italic.
N EGAITAL.COM
A 100
        cld
        mov     bh,     02      ; get 8x14 font
        mov     ax,     1130
        int     10              ; returns es:bp
        push    es
        pop     ds
        mov     si,     bp      ; ds:si points to font
        push    cs
        pop     es
        mov     di,     0159    ; es:di = destination
        mov     bx,     0100    ; number of characters
        mov     cx,     03      ; MAINLOOP:
        call    0147            ; call SHIFTRIGHT
        call    0147            ; call SHIFTRIGHT
        call    0147            ; call SHIFTRIGHT
        call    0150            ; call SHIFTLEFT
        call    0150            ; call SHIFTLEFT
        call    0150            ; call SHIFTLEFT
        call    0150            ; call SHIFTLEFT
        dec     bx              ; decrement char count
        jnz     0114            ; loop if not zero
        mov     bp,     0159    ; point to font
        sub     dx,     dx      ; starting character
        mov     cx,     0100    ; character count
        mov     bh,     0E      ; bytes per character
        cs:
        mov     bl,     [005D]  ;
        and     bl,     03      ; block to load
        mov     ax,     1100    ; load font
        int     10
        int     20              ; terminate
        lodsw                   ; SHIFTRIGHT:
        shr     al,     cl
        shr     ah,     cl
        stosw                   ; and store
        dec     cl
        ret
        lodsw                   ; SHIFTLEFT:
        shl     al,     cl
        shl     ah,     cl
        stosw                   ; and store
        inc     cl
        ret
 
RCX
059
W
Q
Windows Batch file
1
2
rescan
debug < egaital.txt > output.txt

Поэтому пришлось изменить:
- скорректировать несколько строк для шрифта 8x16
- переоформил для формата DOS com и компиляторов masm 6 или tasm с нормальными метками.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
;EGAITAL.COM
;Exploring the EGA, part 2 by Charles Petzold (PC magazine) (1986-09-16)
;This EGAITAL program will change your EGA font to italic.
.model tiny
 
.code
org     100h
main    proc
        cld
        mov     bh,     06h             ; get 8x16 font
        mov     ax,     1130h
        int     10h                     ; returns es:bp
        push    es
        pop     ds
        mov     si,     bp              ; ds:si points to font
        push    cs
        pop     es
        mov     di,     offset FontArea ; es:di = destination
        mov     bx,     0100h           ; number of characters
        MAINLOOP:
                mov     cx,     04h     ; MAINLOOP:
                call    SHIFTRIGHT      ; call SHIFTRIGHT
                call    SHIFTRIGHT      ; call SHIFTRIGHT
                call    SHIFTRIGHT      ; call SHIFTRIGHT
                call    SHIFTRIGHT      ; call SHIFTRIGHT
                call    SHIFTLEFT       ; call SHIFTLEFT
                call    SHIFTLEFT       ; call SHIFTLEFT
                call    SHIFTLEFT       ; call SHIFTLEFT
                call    SHIFTLEFT       ; call SHIFTLEFT
                dec     bx              ; decrement char count
        jnz     MAINLOOP                ; loop if not zero
        mov     bp,     offset FontArea ; point to font
        sub     dx,     dx              ; starting character
        mov     cx,     0100h           ; character count
        mov     bh,     10h             ; bytes per character
        mov     bl,     cs:[005Dh]
        and     bl,     03h             ; block to load
        mov     ax,     1100h           ; load font
        int     10h
        int     20h                     ; terminate
main    endp
 
SHIFTRIGHT      proc    near
        lodsw                           ; SHIFTRIGHT:
        shr     al,     cl
        shr     ah,     cl
        stosw                           ; and store
        dec     cl
        retn
SHIFTRIGHT      endp
 
SHIFTLEFT       proc    near
        lodsw                           ; SHIFTLEFT:
        shl     al,     cl
        shl     ah,     cl
        stosw                           ; and store
        inc     cl
        retn
SHIFTLEFT       endp
 
FontArea:
 
end     main
Таким образом, хоть и не своевременно, но фрагменты для получения подчёркивания и курсива для текущего шрифта уже есть, может позже появится и преобразование в "жирный".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.07.2022, 22:53
Помогаю со студенческими работами здесь

Жирный/Курсив/Подчеркнутый в зависимости от галки
Как сделать что бы в зависимости от галки текст был либо жирным или курсивом или подчеркнутым или нормальным, или жирным-курсивом кароче...

Текстовый редактор. Кнопки "жирный, курсив, подчеркнутый."
Здравствуйте, товарищи! Есть форма с richTextBox и кнопками (checkBox'ы в виде кнопок) B, I, U, обозначающие жирный, курсив и...

Установка шрифта в строке (жирный, курсив)
Добрый вечер. Необходимо в строке сделать часть жирным шрифтом остальное обычным. Изучив сайт...

Форматированный вывод в консоль
Как нужно прописать вывод в C#, чтобы в консоле матрица выводилась подобным образом: 123 23 4 4 654 23 23 2 367 ...

Форматированный вывод массива в консоль
Доброе время суток! Ребята, не пойму в чем ошибка, выводит массив в строку в консоли, хотя по идеи должен ведь матрицу 3 на 6...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru