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

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

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

Ответ
 
Опции темы
Старый 19.03.2011, 14:11   #1
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Lib_snap - фотографирование

Итак, эта нехитрая библиотека позволяет вам получать изображение с камеры телефона, в указанном формате, качестве, и размере.

Достаточно полезная штука, если вы желаете написать редактор изображений, или просто игру где можно использовать фотографии.

Всего в библиотеке 5 функций. Одна для инициализации, одна собственно для фотографирования, и 3 для того чтобы выяснять, работает ли программа или почему она не работает. При этом библиотека никогда не вызовет краха самой игры.

В вложении - папка проэкта библиотеки, в которой можно найти саму библиотеку (Lib_snap.class) и умеренно откоментированный пример программы на ней.

Документация:
Lib_snap
    by YellowAfterlife
  Документация
    SnapInit() - Инициализировать библиотеку. Вызывать в начале программы.
    SnapAvaible():Integer (0\1) - Возращает, доступна ли камера устройства.
      Предполагаемое использование - закрывать программу если нет камеры.
    SnapGet(Params:String):Image - Делает фотографию с задаными параметрами.
      Если строка параметров пустая, будут использованы параметры устройства
      по умолчанию (не очень хорошая идея). Иначе, формат строки параметров:
        encoding=#type&quality=#level&width=#w&height=#h
          #type - кодирование (jpeg\bmp\png, jpeg работает чаще всего)
          #level - качество (0..100) для JPEG
          #w - ширина изображения.
          #h - высота изображения.
        Пример: 'encoding=jpeg&quality=100&width=240&height=320'
          Означает: JPEG кодирование, 100% качество, 240x320
    SnapWorks():Integer - Возращает результат работы SnapGet
      0 - функция еще не вызывалась
      -1 - функция сработала (получено изображение)
      1 - обычная ошибка, используйте SnapError чтобы узнать о ней больше
      2 - ошибка состояния, формат не поддерживается или забыта инициализация.
      3 - ошибка безопасности - пользователь не разрешил фотографировать.
    SnapError():String - возращает текст ошибки или ее название.

Исходный код библиотеки:
Он может показатся немного странным, но это изза очень тщательного слежения за ошибками.
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.VideoControl;
import javax.microedition.lcdui.Image;
import java.lang.IllegalStateException;
import java.lang.SecurityException;
public class 
Lib_snap {
public static 
Player _lsp;
public static 
VideoControl _lsv;
public static 
int _lsw 0;
public static 
int _lsc 0;
public static 
String _lse;
public static 
void snapinit() {
try {
_lsp Manager.createPlayer("capture://image");
_lsp.realize();
_lsv = (VideoControl)_lsp.getControl("VideoControl");
_lsv.initDisplayMode(VideoControl.USE_GUI_PRIMITIVEnull);
_lsw = ((_lsv != null) ? 0);
_lsp.start();
} catch (
Exception e) { _lsw 0; }
}
public static 
Image snapget(String s)
{
try {
byte[] _lsv.getSnapshot(== "" null s);
_lsc = -1;
_lse null;
Image i Image.createImage(r0r.length);
return 
i;
}
catch (
IllegalStateException e) { _lsc 2_lse e.getMessage(); if (_lse == null_lse e.toString(); return null; }
catch (
SecurityException e) { _lsc 3_lse e.getMessage(); if (_lse == null_lse e.toString(); return null; }
catch (
Throwable e) {
_lse e.getMessage(); if (_lse == null_lse e.toString();
_lsc 1;
return 
null;
}
}
public static 
int snapworks() { return _lsc; }
public static 
int snapavaible() { return _lsw; }
public static 
String snaperror() { return _lse; }

Вложения
Тип файла: zip SnapTest.zip (15.0 Кб, 1703 просмотров)
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
cherepets (19.03.2011), marcuzy (22.03.2011)
Старый 20.03.2011, 17:25   #2
marcuzy
AnyKey`щик
 
Регистрация: 20.03.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_snap - фотографирование

Спасибо большое, как повезло что мне свой (русскоязычный) помог)
(Offline)
 
Ответить с цитированием
Старый 21.03.2011, 08:48   #3
marcuzy
AnyKey`щик
 
Регистрация: 20.03.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_snap - фотографирование

Да, не плохо бы иметь доступ к видео, потому что фото снимается с задержками, а мне необходимо хотябы 5 кадров/сек, + если можно, как-то управлять звуком камеры (отключать), а то при фотографировании срабатывает соответствующий звук, причем настройки камеры не помогают.
Заранее спасибо.
(Offline)
 
Ответить с цитированием
Старый 21.03.2011, 12:38   #4
marcuzy
AnyKey`щик
 
Регистрация: 20.03.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_snap - фотографирование

попробую доработать ваш код для работы в режиме видео, результат выложу сюда же
(Offline)
 
Ответить с цитированием
Старый 18.06.2011, 20:16   #5
nil0q
ПроЭктировщик
 
Аватар для nil0q
 
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений
(для 99 пользователей)
Ответ: Lib_snap - фотографирование

У кого-нибудь она работает???
SnapAvaible() упорно выдаёт 0. хотя ProPaintMobile и CellIDPS снимают без проблем, а первый ещё и список форматов показывает и выбрать предлагает.
Зы: телефон SE j105
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!

Последний раз редактировалось nil0q, 20.06.2011 в 18:20.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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