Это можно сделать, но это абсолютно не способствует производительности :) Вы получите огромные строковые объекты (большие изображения = большие строки). Но я расскажу вам, как я это сделал однажды.
Во-первых, вы должны получить BitmapData с вашей веб-камеры. Это можно сделать, создав BitmapData-объект и используя его функцию draw (), как показано ниже:
var bmpd:BitmapData = new BitmapData(webcam.width, webcam.height);
bmpd.draw(webcam);
С помощью этого BitmapData вы можете затем вызвать getPixels (), который будет возвращать ByteArray.
var ba:ByteArray = bmpd.getPixels();
Этот ByteArray теперь готов к сериализации. Поскольку вы храните, лучше всего хранить его в виде строки. Это чаще всего делается с помощью Base64. Вы можете использовать этот класс для реализации base64-кодирования, как показано ниже:
var baseString:String = Base64.encodeByteArray(ba);
Приведенная выше строка может храниться в вашем sqlite и является строковым представлением вашего изображения. Чем больше изображение, тем больше времени займет преобразование.
Чтобы получить изображение обратно из вашего sqlite, вы можете использовать decodeByteArray () - метод класса Base64, который я вам дал, в сочетании с объектом-загрузчиком. Пример показан ниже.
var baseString = StringFromYourSQLite;
var ba:ByteArray = Base64.decodeToByteArray(baseString);
var imageLoader:Loader = new Loader();
imageLoader.loadBytes(ba);
stage.addChild(imageLoader);
И вот как вы можете хранить и извлекать изображения из вашей базы данных.