我想以圆形显示图像,并且能够以圆形显示用户图像,但无法管理图像质量。图像正在缩小/拉伸。我正在尝试在 android 设备中对其进行测试。
钛工作室资料
钛工作室,构建:3.4.1.201410281727 构建:jenkins-titanium-rcp-master-202
拉伸图像的设备屏幕截图。 http://i60.tinypic.com/23hq9lv.png
我的代码如下。
看法
<View id="userpiceView">
<ImageView id="userImage" onClick="chooesPic"></ImageView>
</View>
TSS
"#userpiceView":{
left : "10%",
width: 84,
height: 84,
borderRadius: 42,
borderColor: '#f05323',
borderWidth: 3,
}
"#userImage":{
autorotate: true,
image: "/images/defaultuser.png",
defaultImage: "/images/defaultuser.png",
}
控制器
function chooesPic() {
Titanium.Media.openPhotoGallery(
{
mediaTypes : [Ti.Media.MEDIA_TYPE_PHOTO],
success : function(event) {
var imageG = event.media;
Ti.API.info("before" + imageG.height + " x " + imageG.width);
Ti.API.info("before" + imageG.length);
try{
var imgBlob = imageG.imageAsResized(300,300);
imageG=null;
Ti.API.info("after imgBlob " + imgBlob.height + " x " + imgBlob.width);
$.userImage.image=imgBlob;
imgBlob=null;
}catch(e){
Ti.API.info("Image conversion error"+e );
}
if (event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
var filename = Titanium.Filesystem.applicationDataDirectory + "/" + 'camera_photo' + new Date().getTime() + ".png";
var f = Titanium.Filesystem.getFile(filename);
if (f.exists()) {
f = Titanium.Filesystem.getFile(filename);
}
f.write(imageG);
pathfromgallery = f.nativePath;
}
}
});}