Şimdiye kadar kameranın bir butona tıklandığında kameranın açıldığı ve fotoğraf çekildikten sonra ekranda görüntülendiği kameranın api'si var.Yakalanan görüntü SQlite Veritabanına mı depolanıyor? (Cordova)
Bir sonraki adım, görüntüyü bir tablo içindeki sqlite veritabanına depolamaktır. Uygulamanın diğer bölümleri için kullanılan birkaç tabloya sahip olduğumdan veri tabanını oluşturmak sorun değil, sadece görüntüyü veritabanına nasıl depolayacağımı öğreniyor.
Birisi burada yardım sağlayabilir mi?
Kamera Fonksiyonu:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.getElementById("btnCamera").onclick = function() {
navigator.camera.getPicture(function (imageUri) {
var lastPhotoContainer = document.getElementById("lastPhoto");
alert("Hot stuff!");
lastPhotoContainer.innerHTML = "<img src='" + imageUri + "' style='width: 75%;' />";
}, null, null);
};
}
HTML:
<div data-role="page" id="page7" data-theme="d">
<div data-role="header">
<a href="#page1" class="ui-btn ui-icon-home ui-btn-icon-left">Sign ut</a>
<h1>SoccerMeet</h1>
</div>
<div data-role="main" class="ui-content">
<input id="btnCamera" type="button" value="Camera photo" />
<p id="lastPhoto"></p>
</div>
<div data-role="footer">
<h2>© Gallery</h2>
</div>
</div>
GÜNCELLEME Senaryo:
document.addEventListener("deviceready", onDeviceReady, false);
var db;
function onDeviceReady() {
db = window.openDatabase("SoccerEarth", "2.0", "SoccerEarthDB", 2 * 1024 * 1024);
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Gallery (id INTEGER PRIMARY KEY, myImage BLOB)');
}, errorE, successS);
}
function successS() {
alert("Camera database ready!");
document.getElementById("btnCamera").onclick = function() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL
});
};
}
function onSuccess(tx, imageData) {
alert("Camera test 1");
var image = document.getElementById("lastPhoto");
image.src = "data:image/jpeg;base64," + imageData;
base64imageData = imageData;
var _Query3 = ("INSERT INTO Gallery(myImage) values ('" + base64imageData + "')");
alert(_Query3);
tx.executeSql(_Query3);
}
/* function successCamera() {
navigator.notification.alert("Image has been stored", null, "Information", "ok");
$(":mobile-pagecontainer").pagecontainer("change", "#page4");
} */
function onFail(message) {
alert('Failed because: ' + message);
}
function errorE(err) {
alert("Error processing SQL: " + err.code);
}
Sen base64 görüntüyü dönüştürmek ve saklayın. Bir çeşit şablon sağlayabiliyorsanız – IamKarim1992
@ IamKarim1992 harika olurdu? – Mahdi
@Mahdi: Sorgunuz için çözüm var mı? Aynı senaryodaki sorunlarla da karşı karşıya olduğum için. – Mrunal