Skip to content

Instantly share code, notes, and snippets.

@skypanther
Forked from pec1985/app.js
Created February 24, 2012 15:46

Revisions

  1. skypanther revised this gist Feb 24, 2012. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions app.js
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    var Utils = {
    /* modified version of https://gist.github.com/1243697 */
    /* modified version of https://gist.github.com/1243697
    * adds detection of file extension rather than hard-coding .jpg as in the original
    */
    _getExtension: function(fn) {
    // from http://stackoverflow.com/a/680982/292947
    var re = /(?:\.([^.]+))?$/;
    @@ -41,4 +43,4 @@ var image = Utils.RemoteImage({
    height:200,
    top:20
    });
    win.add(image);
    win.add(image);
  2. skypanther revised this gist Feb 24, 2012. 1 changed file with 15 additions and 12 deletions.
    27 changes: 15 additions & 12 deletions app.js
    Original file line number Diff line number Diff line change
    @@ -1,41 +1,44 @@
    var Utils = {
    /* modified version of https://gist.github.com/1243697 */
    _getExtension: function(fn) {
    // from http://stackoverflow.com/a/680982/292947
    var re = /(?:\.([^.]+))?$/;
    var tmpext = re.exec(fn)[1];
    return (tmpext) ? tmpext : '';
    },
    RemoteImage: function(a){
    a = a || {};
    var md5;
    var needsToSave = false;
    var savedFile;
    if(a.image){
    md5 = Ti.Utils.md5HexDigest(a.image)+'.jpg';
    md5 = Ti.Utils.md5HexDigest(a.image)+this._getExtension(a.image);
    savedFile = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,md5);
    if(savedFile.exists()){
    a.image = savedFile;
    } else {
    needsToSave = true;
    }
    }

    var image = Ti.UI.createImageView(a);

    if(needsToSave == true){
    if(needsToSave === true){
    function saveImage(e){
    image.removeEventListener('load',saveImage);
    savedFile.write(
    Ti.UI.createImageView({image:image.image,width:'auto',height:'auto'}).toImage()
    );
    };
    }
    image.addEventListener('load',saveImage);
    }

    return image;
    }
    }

    // Example:

    };
    // example usage
    var image = Utils.RemoteImage({
    image:'http://lalalal.com/image.jpg',
    image:'http://farm7.staticflickr.com/6059/6262552465_e53bccbd52_z.jpg',
    defaultImage:'KS_nav_ui.png',
    width:300,
    height:200,
    top:20
    });
    win.add(image);
    win.add(image);
  3. @pec1985 pec1985 revised this gist Sep 26, 2011. 1 changed file with 11 additions and 1 deletion.
    12 changes: 11 additions & 1 deletion app.js
    Original file line number Diff line number Diff line change
    @@ -28,4 +28,14 @@ var Utils = {

    return image;
    }
    }
    }

    // Example:

    var image = Utils.RemoteImage({
    image:'http://lalalal.com/image.jpg',
    width:300,
    height:200,
    top:20
    });
    win.add(image);
  4. @pec1985 pec1985 created this gist Sep 26, 2011.
    31 changes: 31 additions & 0 deletions app.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    var Utils = {
    RemoteImage: function(a){
    a = a || {};
    var md5;
    var needsToSave = false;
    var savedFile;
    if(a.image){
    md5 = Ti.Utils.md5HexDigest(a.image)+'.jpg';
    savedFile = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,md5);
    if(savedFile.exists()){
    a.image = savedFile;
    } else {
    needsToSave = true;
    }
    }

    var image = Ti.UI.createImageView(a);

    if(needsToSave == true){
    function saveImage(e){
    image.removeEventListener('load',saveImage);
    savedFile.write(
    Ti.UI.createImageView({image:image.image,width:'auto',height:'auto'}).toImage()
    );
    };
    image.addEventListener('load',saveImage);
    }

    return image;
    }
    }