0

iOS と android の両方の appcelerator チタンで、大きな画像の小さな部分 (透明なフレームに表示されるイメージビューの領域など) をどのようにトリミングしますか? imageAs* *関数は、Android 3.0 未満ではサポートされていないため、機能しません。これが私のコードです:

var win=Ti.UI.createWindow({backgroundColor: 'white'})

var ImageView = Titanium.UI.createImageView({
                     width:200, height:200,
                });
var cropView = Titanium.UI.createView({
                     width: 150,
                     height: 150,
                     borderColor: 'red',
                     borderWidth: 1,
                     zIndex: 1,
               });
var button= Ti.UI.createButton({
                     bottom: 30,
                     width: 60,
                     title: 'OK',
                     zIndex: 1,
                })

win.add(cropView)

Ti.Media.openPhotoGallery({
       PhotoGalleryOptionsType : Ti.Media.MEDIA_TYPE_PHOTO,
       success: function(e){
                ImageView.image=e.media;
                win.add(ImageView)
       }, });
button.addEventListener('click',function(e)
{
     // crop the visible area
})

iOS 5 と Android 2.2 を使用しています。ご協力いただきありがとうございます。

4

3 に答える 3

1

表示したい部分が表示されるように( ではなく) 位置とサイズを追加ImageViewし( と に負の値を使用)、 を呼び出します。結果のブロブを新しい画像ビューで使用したり、ファイルに保存したり、添付ファイルとして電子メールで送信したりできます。cropViewwinimageViewlefttopcropView.toImage()

親境界の外側にあるイメージの部分はトリミングされ、指定した部分だけが残ります。

于 2012-12-12T18:44:55.850 に答える
0

私はいくつかの小さな変更を加えましたが、今ではすべて機能しています。乾杯!!:)

var win = Ti.UI.createWindow({
backgroundColor : 'white'
})
var orignal = Titanium.UI.createImageView({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
left:5
});

var ImageView = Titanium.UI.createImageView({
width : 200,
height : 200

});
var cropView = Titanium.UI.createView({
top : 10,
width : 150,
height : 150,
borderColor : 'lime',
borderWidth : 1,
zIndex : 1,
left:150
});

var button = Ti.UI.createButton({
bottom : 30,
width : 60,
title : 'CROP',
zIndex : 1,
});

win.add(button);
Ti.Media.openPhotoGallery({
PhotoGalleryOptionsType : Ti.Media.MEDIA_TYPE_PHOTO,
success : function(e) {
    ImageView.image = e.media;
    orignal.image=e.media;
    cropView.add(ImageView);
    win.add(cropView);
    win.add(orignal);
},
 });

var CropedImageView = Titanium.UI.createImageView({
top : 200,
width : cropView.width,
height : cropView.height,
left:150
});

button.addEventListener('click', function(e) {
cropView.borderColor='transparent';
CropedImageView.image = cropView.toImage();
win.add(CropedImageView);
});

win.open();
于 2013-06-21T06:56:18.860 に答える