1

我正在使用 Phonegap (Cordova-1.9.0) 和 jQuery Mobile 1.0.1 开发一个 iPad 应用程序。我需要为我的应用程序使用图片库。在我的应用程序中。我找到了照片滑动图片库。我从 iPad 相机捕获图像并保存为 Camera.DestinationType.DATA_URL (Phonegap api)。我的 imagea 保存为 base64,类型。

当我将图像保存为 Camera.DestinationType.FILE_URI 时,Photoswipe 图像库工作正常。

但我的问题是我如何使用 Camera.DestinationType.DATA_URL 使用 photoswipe 画廊?

谢谢你

4

2 回答 2

0

我找到了类似问题的解决方案。

我在网页中使用带有 base64 的 photoSwipe,它是这样工作的:

<li><a href="data:image/png;base64,<c:out value='${entry.imagenString}'/>"><img src="data:image/png;base64,<c:out value='${entry.imagenString}'/>"></a></li>

在 href 和 src 属性中,我将 base64 字符串与表示法表示为 base64。

我会尝试在 Phonegap 中使用它,但我认为那必须是相同的代码。

编辑:我在 Phonegap 中对其进行了测试,并且可以正常工作。

于 2013-09-17T07:39:10.180 回答
0

我用这个:

var imagesArray = data.callback.include.images;
    // images : 
    if(imagesArray && imagesArray.length > 0  && imagesArray != null && imagesArray != undefined){
        var images = imagesArray.map((item)=>{
            var link = item.trim();
            var base = link.split('base64,');
            var a = base[0];
            var b = base[1];
            return `<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
                <a href=${a}base64,${b} itemprop="contentUrl" data-size="1024x1024">
                    <img src=${a}base64,${b} itemprop="thumbnail" alt="Image description" />
                </a>
                <figcaption itemprop="caption description">CAPTION :</figcaption>                   
            </figure>`
        })
        // building the gallery : 
        var now = new Date().getTime();
        var galleryClassName = "gal-" + shareId + "-" + commentId + "-" + now;
        var gallery = `<div class="comments-gallery ${galleryClassName} gallery" itemscope itemtype="http://schema.org/ImageGallery">
                         ${images}      
                    </div>`;
    }else { gallery = "" }

然后包括画廊变量,然后通过调用它的类来初始化它

var output = `<div class="row"> ${gallery} </div>`;
 // init gallerires : 
        initPhotoSwipeFromDOM("." + galleryClassName);
于 2019-03-04T04:58:21.570 回答