Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Вывод изображения на Ассемблере с помощью GDI+

20.07.2015 | Категория: Образ мышления: Assembler | Автор: ManHunter
При разработке своих программ пришлось столкнуться с задачей загрузки произвольного изображения из файла или из памяти и последующего вывода его в диалоговое окно. Есть несколько вариантов, как это сделать, но, на мой взгляд, наиболее корректный путь - воспользоваться функциями стандартной библиотеки GDI+. Она поддерживается всеми современными системами Windows, начиная с Windows XP и обладает очень широкими возможностями по обработке изображений.

Сперва в сегменте данных надо определить структуру GdiplusStartupInput, про которую FASM не знает. Да и в импорте тоже придется самостоятельно приписать несколько функций из библиотеки GDI+, так как в стандартных инклудах FASM их тоже нет. Описание остальных переменных, используемых в коде, вы можете посмотреть в прилагаемом к статье исходнике.
  1. ; Структура для работы с GDI+
  2. struct GdiplusStartupInput
  3.     GdiplusVersion           dd ?
  4.     DebugEventCallback       dd ?
  5.     SuppressBackgroundThread dd ?
  6.     SuppressExternalCodecs   dd ?
  7. ends
  8.  
  9. ; Размеры превьюшки
  10. IMG_X = 332
  11. IMG_Y = 248
  12.  
  13. ; ID статика для вывода изображения
  14. ID_IMG = 100
  15.  
  16. ; Имя файла для вывода на форму
  17. fname           db 'picture.jpg',0
Приведенный ниже код позволяет выводить на форму не только изображения в формате JPEG, но также BMP, PNG, GIF, ICO и других форматов, которые поддерживаются системой. Файл "picture.jpg" приведен только для примера. В реальных приложениях имя файла, естественно, будет другим. Размер и идентификатор STATIC для отображения картинки также будет меняться в зависимости от разрабатываемого приложения.

Читать статью целиком »
Просмотров: 7201 | Комментариев: 8

Исследование защиты программы PNGOUTWin

18.07.2015 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы PNGOUTWin

Программа PNGOUTWin предназначена для оптимизации картинок в формате PNG, значительно уменьшая их размер, в некоторых случаях даже в разы, но без потери качества изображения. Уменьшение размера файла выполняется за счет оптимизации палитры, удаления всей избыточной информации и использованием собственного алгоритма компрессии. Поддерживаются все форматы PNG, в том числе и с альфа-каналом. Очень полезная утилита для веб-мастеров, использующих на сайтах большое количество графики или PNG-спрайтов. Но программа имеет ограничение по времени использования, после этого ее надо будет приобрести, ну или прочитать эту статью, чтобы пользоваться PNGOUTWin бесплатно в течение неограниченного времени.

Читать статью целиком »
Просмотров: 4543 | Комментариев: 17

Определение координат места съемки из EXIF на PHP

08.07.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Определение координат места съемки из EXIF на PHP

Окончательно решив аппаратную задачу записи GPS-координат в файлы, осталось решить программную задачу их чтения. Вариант на Ассемблере у меня уже давно есть, а вот на PHP нормальных решений не было. Причину, по которой я не пользуюсь штатными функциями PHP, я изложил в предыдущей статье, повторяться не буду. К тому же мне стало интересно самостоятельно распарсить дополнительные секции EXIF, основываясь на их спецификации.

Читать статью целиком »
Просмотров: 4835 | Комментариев: 1

Поворот изображения на основании данных EXIF

02.05.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Поворот изображения на основании данных EXIF

Сложно представить современный интернет без загруженных фотографий. Это социальные сети, форумы, фотогалереи, фотохостинги и множество других ресурсов и сервисов. В зависимости от композиции, фотографии могут быть как вертикальными, так и горизонтальными. Но ни одна камера технически не в состоянии сделать вертикальный снимок, все без исключения снимки делаются горизонтальными, а ориентация (угол поворота) кадра записывается в секцию EXIF. Программы просмотра считывают эти данные и показывают изображение с нужным углом поворота. При обработке графических файлов средствами PHP, информация об ориентации игнорируется, поэтому при загрузке фотографий на различные сайты полученное изображение может оказаться повернутым, так как именно в таком виде снимок был сделан камерой. Конечно, можно предложить пользователю выполнить предварительную обработку фотографии в каком-нибудь графическом редакторе, но, во-первых, не все пользователи умеют с ними работать, а во-вторых, порой бывает очень сложно объяснить людям, почему у них в программе просмотра все отображается как надо, а после загрузки "все сломалось".

Читать статью целиком »
Просмотров: 8127 | Комментариев: 12

Исследование защиты программы ICL-Icon Extractor

03.02.2015 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы ICL-Icon Extractor

Программа ICL-Icon Extractor предназначена для быстрого извлечения иконок из исполняемых файлов, архивов и системных файлов. Очень удобно, что иконки можно извлекать как в виде отдельных файлов, так и целиком библиотекой в стандартном формате ICL. Программа не на каждый день, но время от времени такая необходимость возникает, поэтому лучше держать ее под рукой.

Читать статью целиком »
Просмотров: 4539 | Комментариев: 5

01 ... 05 06 07 08 09 10 11 ... 16
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0446 сек.) / Память: 4.75 Mb
Наверх