如何在 appcelerator 中裁剪图库图像?
Posted
技术标签:
【中文标题】如何在 appcelerator 中裁剪图库图像?【英文标题】:How to crop the gallery images in appcelerator? 【发布时间】:2016-01-23 12:19:17 【问题描述】:我正在开发 ios 应用程序。因为我需要在从图库上传图像时裁剪图像。任何人都可以帮助我如何在 ios 平台的 appcelerator 中裁剪图像。
提前致谢
【问题讨论】:
【参考方案1】:您可以使用内部 blob.imageAsCrop() 方法:
https://docs.appcelerator.com/platform/latest/#!/api/Titanium.Blob-method-imageAsCropped
属性是宽度、高度、x、y (https://docs.appcelerator.com/platform/latest/#!/api/ImageAsCroppedDict)
它会返回另一个你可以保存或再次显示的 blob
例子:
var croppedImage = blob.imageAsCropped(x : 20, y : 20, width : 100, height : 100);
var imageView = Titanium.UI.createImageView(
image:croppedImage,
width: 100, height:100
);
示例 2:
Titanium.Media.openPhotoGallery(
success: function(event)
var galleryImage = event.media;
var dict =
x: 0,
y: 50,
width: 300,
height: 300
;
var croppedImage = galleryImage.imageAsCropped(dict);
var imageView = Ti.UI.createImageView(
image: croppedImage,
height: 'auto',
width: 'auto'
);
$.index.add(imageView);
,
cancel: function() ,
savedToPhotoGallery: true,
allowEditing: true,
mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],
showControls: true
);
【讨论】:
感谢您的回复,请您帮助我如何通过示例代码使用这两种方法 您有任何可以显示的代码吗?您只需要裁剪示例或整个“从图库中获取图像,裁剪,上传”?多一点信息会很好 嗨,它允许用户只选择图像。但我的要求是他要选择固定长度的图像意味着他只裁剪图像取决于他的要求 嗨,以下是我的代码,它使用户选择的图像变小,但我的目标是用户应该选择他想要的裁剪尺寸 Titanium.Media.openPhotoGallery( success : function(event) var galleryImage = event.media; Ti.API.info('gallery ==' + galleryImage); var blobStream = Ti.Stream .createStream( source: galleryImage, mode: Ti.Stream.MODE_READ ); var newBuffer = Ti.createBuffer( length: galleryImage.length ); var bytes = blobStream.read(newBuffer); var height = galleryImage.height ; var width = galleryImage.width; var pos = (height - width) / 4; var dict = x : 0, y : 50, width : '35%', height :'35%' ;以上是关于如何在 appcelerator 中裁剪图库图像?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 7.0 中从相机或图库中选择要裁剪的图像?
我只想将裁剪后的图像保存到图库中。但它保存了原始的完整图像。如何只保存裁剪的图像?