Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 15

Как добавить чтение формата png в ехе, который читает только формат bmp

17.10.2012, 14:59. Показов 1762. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста, как добавить чтение формата png в ехе, который читает только формат bmp?
Собственно дело вот в чем, у меня есть мод на основе Little fighter 2. Есть ехе который читает формат png но к нему не подключен длл. Вот я и решил выбрать одно из двух, либо подключить длл, либо добавить чтение формата png в ехе. Кто может помочь, помогите)))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2012, 14:59
Ответы с готовыми решениями:

IMG_Load грузит картинки только формата bmp
#include<GL\freeglut.h> #include<Windows.h> #include<iostream> #include<cstdlib> using namespace std; #define SDL_MAIN_HANDLED ...

Вращение TImage c PNG. Нужна переделка решения для BMP под PNG
Здравствуйте. Очень нужна помощь с вращением. Есть решение данной проблемы для формата bmp :...

Надо загрузить только фотографии на сервер формата JPG, GIF или PNG размером меньше 3 метров.
Поставь модуль Image::Magick; вот с его помощью можно делать с графическими файлами всё что угодно. в том числе проверку на...

7
angstrom
17.10.2012, 16:28
Посмотри это.
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 15
17.10.2012, 17:11  [ТС]
Программа то хорошая, но в игре дофига моментов обработки изображений, есть те, где есть черная прозрачность, есть те, где её нету, есть места, где размер\вес рисунков зафиксирован, есть места, где прописан формат *.bmp =>нужно будет химичить с ехешником больше чем над длл париться.....
А как вообще можно подключить длл к ехе? У меня есть способ один, но он не подходит для данного ехе
1. Запускается программа (точка старта, определенная строка адреса)
2. Идёт считывание данных по порядку приоритетов\расположения (в данном случае длл всегда ниже по приоритету, чем сама инициализация программы)
3. Человек вставляет сразу после точки инициализации JMP туда, где прописан адрес загрузки DLL, имя файла и т.д. в ACSII кодировке (способ прописки есть в видеоуроке)
4. После подключения DLL делается JMP обратно, к следующей строке, которая должна была грузится, если бы мы не выполнили пункт 3.
5. Теперь программа продолжает работать так же, как обычно, но с добавленными данными из внешнего файла, в данном случае - DLL.

Ехешник такой: http://www.mediafire.com/?yknu5gnxtr9r073
0
angstrom
17.10.2012, 17:18
Это не программа, это исходный код (в архиве) для создания dll-ки, при небольшой модификации весь код можно включить в exe файл

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
include pnglib.inc
...
Load_PNG PROC res:DWORD
    LOCAL pngInfo :PNGINFO
 
    invoke PNG_Init, ADDR pngInfo
    invoke PNG_LoadResource, ADDR pngInfo, hInstance, res
    .IF !eax
    invoke MessageBox, hWindow, ADDR errLoadRes, ADDR errLoadRes, MB_ICONERROR
    xor     eax, eax
    jmp     @F
    .ENDIF
 
    invoke PNG_Decode, ADDR pngInfo
    .IF !eax
    invoke MessageBox, hWindow, ADDR errLoadRes, ADDR errLoadRes, MB_ICONERROR
    xor     eax, eax
    jmp     @F
    .ENDIF
 
    invoke PNG_CreateBitmap, ADDR pngInfo, hWindow, PNG_OUTF_AUTO, FALSE
    .IF !eax
    invoke MessageBox, hWindow, ADDR errLoadRes, ADDR errLoadRes, MB_ICONERROR
    xor     eax, eax
    jmp     @F
    .ENDIF
 
    push eax
@@:     
    invoke PNG_Cleanup, ADDR pngInfo
    
    pop eax
    ret
Load_PNG ENDP
Вложения
Тип файла: rar pnglib.rar (9.8 Кб, 10 просмотров)
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 15
17.10.2012, 17:33  [ТС]
angstrom, ведь если я добавлю это в ехе файл то как игра поймет что нужно читать в опр. момент игры, ведь как я уже писал в игре дофига моментов с использованием бмп
0
angstrom
17.10.2012, 17:39
Все нужные картинки можно загрузить заранее или подгружать по мере надобности
Assembler
1
  mov hMyBitmap, rv(Load_PNG, ID_BITMAP)
потом с hMyBitmap можешь делать что нужно.
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 15
17.10.2012, 17:52  [ТС]
эх, а код внедряется через ollydbg же?

Добавлено через 2 минуты
У меня есть код который подключает длл, нельзя ли между подключением его вставить?
код:
00446316 /$ 68 0B634400 PUSH lf2va_fr.0044630B ; /FileName = "stars.dll"
0044631B |. FF15 34F17400 CALL DWORD PTR DS:[<&kernel32.LoadLibrar>; \LoadLibraryA
00446321 |. E8 37F7FFFF CALL lf2va_fr.00445A5D
00446326 \. C3 RETN
0
angstrom
17.10.2012, 18:38
Пример, показывающий загрузку png файла. Пример "сырой", сляпанный на скорую руку.
Вложения
Тип файла: rar test7.rar (35.1 Кб, 20 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2012, 18:38
Помогаю со студенческими работами здесь

Добавить в обработку переформатирование документа формата excle в формат dbf или наоборот
Здравствуйте! у меня такой вопрос точнее задача, объясню на примере. Есть обработка которая отправляет отчеты по зарплате в банк, благодаря...

Чтение XML: Код читает только из первой ветки
Код читает только из первое ветки, то есть status_code, как заставить читать img_name? &lt;response&gt; ...

Как сделать программно из BMP (JPG, PNG) - ICO
Как сделать из bmp - ico? Все мы знаем что есть функция Save у объекта Bitmap. Что я не пробовал, итог один- при назначении любой...

Как подключить формат png?
как сделать так что бы к коспоненту SpeedButton ьожна подключить картинку формата png?

Dev C++ . Как по пикселям нарисовать изображение из файла .png или .bmp?
Я пишу один проект , в котором использую графику graphics.h Мне нужно вывести в окно моей программы (которую я вызвал с помощью...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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