Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 2

Вывод изображения формата PNG в FASM

09.04.2015, 15:52. Показов 2088. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется программа вывода BMP изображения, как ее переделать под PNG?
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
format PE GUI 5.0
 
include 'win32wx.inc'
 
width  = 1280
height = 1024
 
.code
start:                         ;Òóò ìîæíî ðèñîâàòü
 
    ; Open file and save its handle into EBX 
    ; 
    invoke    CreateFileA, achFileName, GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0 
    mov       ebx, eax 
    ; 
    ; If file is not opened - get out! 
    ; 
    cmp       eax, INVALID_HANDLE_VALUE 
    je        .quit 
    ; 
    ; ESI = file size in bytes 
    ; 
    invoke    GetFileSize, ebx, 0 
    mov       esi, eax 
    mov       [dwFileSize], eax 
    ; 
    ; Allocate memory for the file contents 
    ; EDI = pointer to that buffer 
    ; 
    invoke    VirtualAlloc, 0, esi, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE 
    mov       edi, eax 
    mov       [pFileBytes], eax 
    ; 
    ; If allocation fails - close file and get out! 
    ; 
    test      eax, eax 
    jz        .close_file 
    ; 
    ; Read the file into buffer and then close file. 
 
    invoke    ReadFile, ebx, Raster, [dwFileSize], dwNumLoaded, 0
    invoke    CloseHandle, ebx 
    ; 
    ; Now the file is fully loaded at the address in EDI... do whatever... 
    ; 
    nop 
    nop 
    nop 
    nop 
    nop 
    ; 
    ; Release memory and quit 
    ; 
    invoke    VirtualFree, [pFileBytes], 0, MEM_RELEASE 
 
 
.close_file: 
    invoke    CloseHandle, ebx 
 
 
 
;invoke  MessageBox,0, Raster,0,MB_OK ;âûâîäèì ñîîáùåíèå
 
mov  esi,Raster           ;ïåðåìåííàÿ Raster ñîäåðæèò èôîðìàöèþ î öâåòå ïèêñåëåé
;add  esi,width*4
;mov  dword[esi-4],255
mov  ecx,(width-1)*height
@@:lodsd
   ;xor eax,[esi-width*4]
;   mov eax,[esi]
   ;mov [esi],eax
loop @b
;;;;;;;;;;;;;;;;;;;
 
@@:invoke GetDC,0                                                          ;Ïîëó÷àåì Device Context ðàáî÷åãî ñòîëà
   invoke SetDIBitsToDevice,eax,0,0,width,height,0,0,0,height,Raster,bmi,0 ;Êîïèðóåì èçîáðàæåíèå èç ïåðåìåííîé Raster íà ýêðàí
   invoke GetAsyncKeyState,VK_ESCAPE                                       ;Ïðîâåðÿåì ñîñòîÿíèå êëàâèøè ESCAPE
   test   eax,eax                                                          ;Åñëè íå íàæàòà
   jz @b                                                                     ;Ïåðåõîäèì íà ìåòêó @@
.quit:
invoke ExitProcess,0       ;Âûõîä èç ïðîãðàììû
 
.data
    pFileBytes   dd 0
    dwFileSize   dd 0 
    dwNumLoaded  dd 0 
    achFileName  db 'd:\555.png',0
 
 
Raster  rd width*height
 
bmi     BITMAPINFOHEADER sizeof.BITMAPINFOHEADER,width,-height,1,24,0,width*height*3
 
Raster1  dd ?
.end start
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2015, 15:52
Ответы с готовыми решениями:

Как добавить чтение формата png в ехе, который читает только формат bmp
Скажите пожалуйста, как добавить чтение формата png в ехе, который читает только формат bmp? Собственно дело вот в чем, у меня есть мод...

[FASM] Вывод в консоль каждый парный символ
Здравствуйте, помогите пожалуйста с выводом каждого второго символа, не могу вообще раздуплиться... (FASM x 64) format PE console include...

Вывод значений из регистра 32 бит в d,h,b формате через MessageBoxA FASM Windows
format PE GUI 4.0 entry start include 'win32a.inc' section '.bss' data readable writeable msg1 db "eax=%d",0 msg2 db...

2
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 2
09.04.2015, 15:59  [ТС]
Код.
Вложения
Тип файла: txt Новый текстовый документ.txt (2.3 Кб, 30 просмотров)
0
4187 / 1835 / 220
Регистрация: 06.10.2010
Сообщений: 4,123
09.04.2015, 16:33
https://www.cyberforum.ru/asse... 37976.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2015, 16:33
Помогаю со студенческими работами здесь

Загрузка изображения формата png в stringgrid
Здравствуйте, подскажите пожалуйста, как можно реализовать добавление изображения формата png в ячейку stringgrid? Для bmp примерно так,...

Вывод png изображения на экран
Здравствуйте уважаемые программисты! Подскажите как вывести png изображение на экран. Потом еще нужно будет вращать его на произвольный...

Вывод изображения png в консоли
Здравствуйте, как вывести в консоли самое обычное jpg или png изображение? Есть ли такая функция? Не хотелось бы пользоваться winapi

Работа с изображениями PNG-формата
Нужна помощь в работе с изображениями PNG-формата, в частности, как вытащить заголовок, вытащить данные, работа с палитрой.

Поворот image формата png
Привет всем!!! Подскажите пожалуйста как повернуть Image на определенный угол? Дело в том, что я использую картинку png формата! Для того...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru