gpt4 book ai didi

javascript - 将 div 背景设置为相机拍摄的照片

转载 作者:行者123 更新时间:2023-11-28 18:54:24 47 4
gpt4 key购买 nike

我正在 Android 中使用 PhoneGap 构建一个移动应用程序,并尝试将 div 的背景设置为使用相机拍摄的照片。

我的相机工作正常(下面的代码),但是在拍完照片后我想立即将 body div 的背景图像设置为照片,而不是只向用户显示他们的照片。

var pictureSource;   // picture source
var destinationType; // sets the format of returned value

// Wait for PhoneGap to connect with the device
//
document.addEventListener("deviceready",onDeviceReady,false);

// PhoneGap is ready to be used!
//
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}

// Called when a photo is successfully retrieved
//
function onPhotoDataSuccess(imageData) {
// Uncomment to view the base64 encoded image data
// console.log(imageData);

// Get image handle
//
var smallImage = document.getElementById('smallImage');

// Unhide image elements
//
smallImage.style.display = 'block';

// Show the captured photo
// The inline CSS rules are used to resize the image
//
smallImage.src = "data:image/jpeg;base64," + imageData;

//set the background here?
$('#wrapper').css("background-image", "url(imageData.jpg)");
}

// Called when a photo is successfully retrieved
//
function onPhotoURISuccess(imageURI) {
// Uncomment to view the image file URI
// console.log(imageURI);

// Get image handle
//
var largeImage = document.getElementById('largeImage');

// Unhide image elements
//
largeImage.style.display = 'block';

// Show the captured photo
// The inline CSS rules are used to resize the image
//
largeImage.src = imageURI;
}

// A button will call this function
//
function capturePhoto() {
// Take picture using device camera and retrieve image as base64-encoded string
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 });
}

// A button will call this function
//
function capturePhotoEdit() {
// Take picture using device camera, allow edit, and retrieve image as base64-encoded string
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true });
}

// A button will call this function
//
function getPhoto(source) {
// Retrieve image file location from specified source
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
}

// Called if something bad happens.
//
function onFail(message) {
alert('Failed because: ' + message);
}

为了在前面的代码中设置背景,我使用了以下内容:

$('#wrapper').css("background-image", "url(imageData.jpg)")

任何帮助都会很棒。

最佳答案

你想要的是 URI 而不是 base64 数据

添加

$('#wrapper').css("background-image", "url("+imageURI+")")

在函数 onPhotoURISuccess 的底部,并在调用 capturePhoto() 时将其用作您的成功处理程序。我刚刚使用几乎完全相同的代码(来自 phonegap 的相机 API 文档的示例)为我工作

关于javascript - 将 div 背景设置为相机拍摄的照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8384339/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com