2

PhoneGapを初めて使用し、アプリ内画像をiOSの写真に保存する方法を知りたいです。

使用できましたが

navigator.camera.getPicture

オプション付き

quality:50, destinationType:Camera.DestinationType.DATA_URL,saveToPhotoAlbum: true

カメラで撮影した写真をフォトに保存するために、アプリ内の画像をフォトに保存する方法を見つけようとしています。

次のPhoneGap-要素myPhotoが「data:image /jpeg;base64」などのimagedataを保持しているCordovaページについて考えてみます。

<html>
    <head>
    <title>Save Image</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
    <script type="text/javascript" charset="utf-8">


    function savePicture(){
                    //this is where the magic would happen
                    //how can I save myPhoto to Photos?
                    //output imageData to a jpg or png file which would show up in Photos?
    }

        </script>
</head>
<body>
    <button onclick="savePicture();">Save Photo</button> <br>
            <input type="hidden" name="myPhoto" id="myPhoto" value="">
</body>
</html>

質問:

Phonegapを介してmyPhotoからiOSの写真に画像データを保存するには、savePicture()で何をする必要がありますか?

4

2 に答える 2

4

たぶん、私がIOS用に作成したプラグインを試すことができます(キャンバス要素をフォトギャラリーに保存する場合は、以下のdownloadWithUrlメソッドを使用してキャンバスのdataURIを取得できます)。それがあなたのために働くことを願っています。

ここにgitリンクがあります:https ://github.com/Nomia/ImgDownloader

簡単な例:

document.addEventListener("deviceready",onDeviceReady);

//google logo url
url = 'https://www.google.com/images/srpr/logo11w.png';

onDeviceReady = function(){
    cordova.plugins.imgDownloader.downloadWithUrl(url,function(){
        alert("success");
    },function(){
        alert("error");
    });        
}

//also you can try dataUri like: 1px gif
//url = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'

ダウンロード方法を使用して、ローカルファイルを画像ギャラリーに保存することもできます

于 2014-09-07T07:48:09.520 に答える
2

最近、iOSでCanvas画像を写真に保存するための次のPhonegapプラグインに出くわしました: https ://github.com/devgeeks/Canvas2ImagePlugin

プラグインをインポートするためのreadmeの指示に従ってください。そうすれば、次のように使用できます。

<html>
    <head>
        <title>Save Image</title>
        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
        <script type="text/javascript" charset="utf-8" src="../Canvas2Image/Canvas2ImagePlugin.js"></script>
        <script type="text/javascript" charset="utf-8">

        var canvas2ImagePlugin; //devgeeks plugin for saving canvas images to photo gallery

        function onDeviceReady() {
             canvas2ImagePlugin = window.plugins.canvas2ImagePlugin;
         }

        function savePicture(){
            canvas2ImagePlugin.saveImageDataToLibrary(function(msg){console.log(msg);},function(err){console.log(err);},'mycanvas');
         }

        </script>
    </head>
    <body>
        <canvas id="myCanvas" width="500px" height="300px"> <strong>[Your browser can not show this example.]</strong> </canvas>
        <button onclick="savePicture();">Save Photo</button> <br>
    </body>
</html>
于 2012-10-27T20:10:00.850 に答える