Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 04.11.2008, 06:00   #1
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Lib_beta: Перенаправления вывода в картинку/на дисплей

Пока что библиотеки для облегчения генерации картинок не было.
Я решил исправить это досадное недоразумение.
Библиотека крайне простая. Новые функции такие:

 
CreateImage(w: integer; h: integer) - Создать пустую (белую) картинку с размерами w * h
    Если w и h равны 0 - картинка удаляется (с очисткой памяти).
 
Replace - Переключить фокус вывода с дисплея в картинку и наоборот.
    После переключения фокуса вывода в картинке можно рисовать стандартными методами MIDletPascal
    (рисовать примитивы: линии, точки, круги, дуги; надписи; выводить в неё др. картинки и проч.)
 
image GetImage - Получить картинку, которая сейчас находится НЕ в фокусе вывода
    Т.е. если фокус вывода сейчас стоит на дисплее - вернется ваша сгенерированная картинка.
    Если фокус на картинке - вернется скриншот вашего дисплея.
    
PutImage(im: image) - Поменять картинку, которая сейчас находится НЕ в фокусе вывода на свою
Практически пример ипользования прилагается.
Вложения
Тип файла: zip Lib_beta.zip (1.1 Кб, 704 просмотров)
Тип файла: zip BetaTest.zip (3.1 Кб, 691 просмотров)
(Offline)
 
Ответить с цитированием
Эти 12 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
.:MaSe:. (25.05.2014), Вредитель (15.01.2009), Cliffe Snake (06.11.2008), Dj_Alex (05.08.2010), Igor (27.10.2010), m1kc. (19.11.2008), Phantom (04.11.2008), Pyth_ON (21.02.2009), Rock2roll (31.07.2010), Romanzes (04.11.2008), sasha_peleng (04.11.2008), Skythrone (04.11.2008)
Старый 06.11.2008, 19:18   #2
Cliffe Snake
Нуждающийся
 
Аватар для Cliffe Snake
 
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений
(для 12 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Классно!! теперь можна декали юзать вовсю. Odd, красава =)))
(Offline)
 
Ответить с цитированием
Старый 15.01.2009, 17:28   #3
Вредитель
AnyKey`щик
 
Аватар для Вредитель
 
Регистрация: 31.08.2008
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

хм, спасибо.....а можно более одной картинки(в будущем)?
__________________
Деньги web-мастеру
(Offline)
 
Ответить с цитированием
Старый 21.01.2009, 16:11   #4
m1kc.
Оператор ЭВМ
 
Аватар для m1kc.
 
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений
(для 5 пользователей)
Сообщение Lib_beta: Перенаправления вывода в картинку/на дисплей

odd, у меня непонятные глюки при использовании PutImage. При попытке изменить скормленное либе изображение программа намертво зависает.

P.S. Проверено на К770 и W510. На эмуле, как ни странно, все ОК.

P.P.S.

img:=imloadjsr75.loadimage('/'+FormGetText(xf)); //Загрузка проходит нормально, это я проверял.
CreateImage(0,0); // Это на всякий случай.
memclean.clean;
CreateImage(GetImageWidth(img),GetImageHeight(img)); // Ну и это на всякий случай. Без нее тоже зависает. 
PutImage(img);
memclean.clean
(Offline)
 
Ответить с цитированием
Старый 01.02.2009, 14:38   #5
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Странно всё это. Буду разбираться.
(Offline)
 
Ответить с цитированием
Старый 23.03.2010, 17:21   #6
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

А как запинается? Зависает?

Приведи ещё кусок кода далее, посмотрим как ты генерируешь картинку.
Пока при чтении ресурса явных ошибок не нашел.
(Offline)
 
Ответить с цитированием
Старый 23.03.2010, 21:36   #7
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

odd, если за год не нашел - забей, не найдешь уже...
(Offline)
 
Ответить с цитированием
Старый 05.08.2010, 20:24   #8
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

у меня вылетает MP 2.02 при компиляции с этой либой. Пробовал в 3 версии, вылетает компилятор на строчке
using external library Lib_beta.class

Если либу исключить и закомментировать ее команды, то компилится норм.
Возможен ли конфликт с кодом или с другой либой (юзаю еще lib_gfx)?


upd

изменил порядок в uses и скомпилировалось без ошибки, так значит либы конфликтуют?
__________________
(Offline)
 
Ответить с цитированием
Старый 14.08.2010, 15:46   #9
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Бывают и такие конфликты. Но библиотека пашет.
(Offline)
 
Ответить с цитированием
Старый 04.09.2010, 21:01   #10
nil0q
ПроЭктировщик
 
Аватар для nil0q
 
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений
(для 99 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Где-то читал, что в джаве можно массив чисел скинуть на экран. Типа, создаёшь массив целых чисел (столько же элементов, сколько пикселей на экране), заполняешь его (число=цвет RGBA), вызываешь какую-то функцию, и массив копируется в видеопамять. Такое реально в эту процедуру засунуть? (должно быть намного быстрее, чем забивание экрана точками через plot, установка одной точки занимает 7 мкс, а присваивание типа а:=б всего 30 нс)

__________

Извиняюсь, нашёл
http://http://forum.boolean.name/showthread.php?t=4621
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!

Последний раз редактировалось nil0q, 11.09.2010 в 19:49.
(Offline)
 
Ответить с цитированием
Старый 15.10.2010, 23:14   #11
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Такое действительно есть. Кому-то надо? Можно добавить в какую-либо библиотеку.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
DIMMON4IK (27.10.2010), Trazzy (22.10.2010)
Старый 26.10.2010, 23:23   #12
_Nox_
ПроЭктировщик
 
Регистрация: 21.06.2009
Адрес: Беларусь, Столбцы
Сообщений: 148
Написано 32 полезных сообщений
(для 57 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

добавь, было бы хорошо
(Offline)
 
Ответить с цитированием
Старый 27.10.2010, 18:30   #13
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Добавил работу с массивом точек.
Новые команды:

create_array(wintegerhinteger) - создать картинку в виде массива точек размерами w h

clear_array 
очистить память от массива точек

draw_array
(xintegeryinteger) - вывести картинку (из массива точекна экран (без перерисовки)
    
xкоординаты левого верхнего угла картинки
    поддерживается полупрозрачность
!
    
poke(xintegeryintegercolorinteger) - записать точку в массив точек
    x
координаты точки в массиве
    color 
ARGB цвет точки (подсчитаете на научном калькуляторе)
    
integer peek(xintegeryinteger) - прочитать значение цвета в точке из массива точек
    x
координаты точки в массиве 
Простейший пример работы с массивом чисел:
Program BetaTest;
Uses beta;
Var 
imimage;
Begin
    CreateImage
(100100); // Создаем картинку 100*100    
    
Replace// Переключаем поток вывода на нашу картинку
    
    
DrawText('odd was here'00); // Рисуем что-то на картинке
    
DrawImage(LoadImage('/icon.png'), 516); // Для примера выводим в нашу картинку др. картинку
    
    
Replace// Переключаем фокус вывода назад. Теперь вывод будет идти на дисплей
    
SetColor(02550); FillRect(00GetWidthGetHeight); // Закрашиваем дисплей
    
im:=GetImage// Извлекаем полученную картинку в переменную (можно и не в переменную, а вставить внутрь функции DrawImage)
    
DrawImage(im55); // Выводим сгенерированную картинку на дисплей
    
Repaint;    
    
Delay(5000);
    
    
// Работа с массивом точек
    
    
SetColor(255255255); FillRect(00GetWidthGetHeight); // Закрашиваем дисплей
    
create_array(10050); // Создаем массив точек
    
poke(154278190335); // Закрашиваем точку (1, 5) цветом FF0000FF = 4278190335
    
draw_array(00); // Выводим массив на дисплей
    
Repaint;    
    
Delay(5000);
    
End
Вложения
Тип файла: zip Lib_beta.zip (1.6 Кб, 511 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
LIDERSERVIS (28.10.2010), _Nox_ (27.10.2010)
Старый 27.10.2010, 22:03   #14
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

так теперь можно сделать paint на мр?
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 27.10.2010, 23:03   #15
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_beta: Перенаправления вывода в картинку/на дисплей

Сообщение от psih1 Посмотреть сообщение
так теперь можно сделать paint на мр?
Можно. Кстати, могу добавить функцию для быстрого помещения любой картинки в массив.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
psih1 (28.10.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нет вывода на экран Suicide Основной форум 5 18.02.2009 00:14
Требуется нарисовать картинку. impersonalis Болтовня 3 20.08.2008 18:35
библиотека вывода рисунков через 3D Platon Библиотеки 5 13.06.2007 22:49
Вожможно ли загрузить картинку не из ресурса ^SeM^ Основной форум 33 04.02.2007 12:08
Вожможно ли повернуть картинку под углом? Red Ninja(Михайлов Никита) Основной форум 6 02.01.2006 13:43


Часовой пояс GMT +4, время: 02:07.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com