Font library (Rasterworks)

Discussing libraries simplifying applications development
  • Пример давно устарел, я заменил функцию CountUTF8Z.
    Вот, если надо.
    Attachments
    test.asm (1.31 KiB)
    Downloaded 346 times
  • Прошу добавить Rasterworks в образ.
  • Сделано.
  • Такой вопрос, что из себя представляет буфер для drawText?
    to infinity and beyond
  • Такой же как и для сисфункции 4. А из описания не понятно?

    xSize dd ?
    ySize dd ?
    picture rb xSize * ySize * bpp
  • После сна стало все сразу ясно :) Теперь осталось выяснить почему у меня выводится лишь черный прямоугольник. Вроде все правильно написал, длину строки считает, rasterworks_drawText тоже возвращает заданную ширину символов, но вместо текста только черная область :(

    P.S. Пример работает, это я на Си повторить не могу пока
    to infinity and beyond
  • Пытаюсь выяснить в чем у меня проблема с библиотекой. Можно пояснить эти строки из примера:

    Code: Select all

    mov	eax,-1
    mov	edi,buf+8
    mov	ecx,24000h
    rep stosd
    ?
    to infinity and beyond
  • Библиотека рисует только текст на любом входящем изображении. Если тебе нужен белый фон, то сначала нужно его нарисовать — 0xFFFFFF или -1.
  • Pathoswithin wrote:0xFFFFFF или -1.
    Это не одно и то же строго говоря. Если учитываться будет альфа канал, то -1 это прозрачный цвет.
  • Как импортировать эту библиотеку в C--?
    Boxlib я импортировал вот так:

    #include "../lib/obj/box_lib.h"
    И
    load_dll(boxlib, #box_lib_init, 0);
    И все работало, думаю, заменю имена либ, и получится сделать так же для растерворкса
    Но, потом я заметил, что во всех либах, кроме растерворкса, есть какая либо функция init
    И именно она помещается в функцию load_dll

    Вот не знаю
    Last edited by maxcodehack on Sun Sep 27, 2020 9:53 am, edited 1 time in total.
  • Это потому что кто-то написал файл "../lib/obj/box_lib.h", в котором есть таблица импорта функций этой библиотеки.
    Вот таблица экспортируемых функций этой библиотеки.
    А вот таблица импортируемых функций (т.е. тех функций, которые нам нужны из экспортируемых библиотекой).

    Соответственно тебе нужно написать некий rasterworks.h, который будет содержать таблицу импорта библиотеки rasterworks.
    И в load_dll вторым параметром ты будешь передавать указатель на начало таблицы импорта (т.е. на первую функцию в таблице импорта).
    Кстати таблица экспорта данной библиотеки содержит всего 4 функции в настоящее время.
  • ну есть libraterworks.h
  • то есть надо передать первую функцию, то есть drawText?
  • Del
    Last edited by maxcodehack on Sun Sep 27, 2020 9:54 am, edited 2 times in total.
  • Who is online

    Users browsing this forum: Ahrefs [Bot] and 3 guests