2011-12-26 2 views
8

ImageView를 만들지 않고 .png 높이를 얻는 방법이 있습니까?티타늄 : ImageView를 만들지 않고 png 높이를 얻으십시오.

Google에서 찾은 방법은 먼저 createImageView가 필요하고 .height를 수행해야합니다.

저는 Png의 높이를 얻고 몇 가지 변경을 수행 한 후에 createImageView로 이동하기 때문에 ImageView를 생성하지 않으려합니다.

또는 var imagevariablename = Ti.UI.createImageView 자체에서 height 값을 사용하므로 var imagevariablename의 선언이 아직 완료되지 않았으므로 imagevariablename.height를 사용할 수 없습니다.

답변

6

저는 티타늄에서 imageView를 만들지 않고 이미지의 높이/너비를 얻는 방법을 모르겠습니다. 내 응용 프로그램에서 임시 이미지보기를 만들고 속성을보기/창에 추가하지 않고 읽습니다. 당신은 티타늄 문서에서 블롭

에서 당신이 폭 얻을 수있는 이미지에서의 Blob와 높이를 작성하는 경우

var imageTemp = Ti.UI.createImageView({ 
    image : someFile.read(), 
    height:'auto', 
    width:'auto' 
}); 
Ti.API.info("height=" + imageTemp.size.height); 
Ti.API.info("width=" + imageTemp.size.width); 
imageTemp = null; 
+0

sdk 버전 2.1.1.GA에서 작동하지 않습니다. –

1

: 당신은 크기를 알면 그럼 당신은 '진짜'이미지보기를 만들 수 있습니다 하는 경우 이 얼룩은 이미지를 나타내며, 픽셀 단위의 이미지 높이입니다.

4

는이 같은 실행 내 상태에서이 코드를

var imageTemp = Ti.UI.createImageView({ 
    image : <image>, 
    height:'auto', 
    width:'auto' 
}), 
imageSize = imageTemp.toImage(); 

Ti.API.info("height=" + imageSize.height); 
Ti.API.info("width=" + imageSize.width); 

imageTemp = imageSize = null; 
1

을보십시오.

var imageTemp = Ti.UI.createImageView({ 
    image : someFile.read(), 
    height:'auto', 
    width:'auto' 
}); 
alert("height=" + imageTemp.toBlob().height); 
alert("width=" + imageTemp.toBlob().width); 
imageTemp = null; 
1

나는 이것을 작업하고 있었고 위의 코드에서 안드로이드를 테스트하는 3.2.2를 사용하여 문제가있었습니다. 다양한 시도는 너비와 높이 값에 대해 1, 0 또는 SIZE를 제공합니다. 이것은 imageView를 사용하지만 다음은이 환경에서 필요한 모든 것을 얻을 수 있습니다. 또한 postLayout 대신에 load 이벤트를 사용하고 있습니다. 바라기를 이것은 누군가를 돕기를 바랍니다.

$.map.image = 'http://getyourownimage.com/dev/8fac94c6-872b-4bda-a56a-7dba09188c66.png'; 
$.map.zIndex = 1; 
$.map.width = 'auto'; 
$.map.height = 'auto'; 

$.map.addEventListener('load',function(e){ 
    var rect = $.map.getRect(); 
    Ti.API.info(rect.width); //actual width of imageView 
    Ti.API.info(rect.height); //actual height of imageView 
    Ti.API.info($.map.getWidth()); //returns auto/SIZE, doesn't work 
    Ti.API.info($.map.getHeight()); //returns auto/SIZE, doesn't work 
    Ti.API.info($.map.toImage().width); //some scaled value, not useful 
    Ti.API.info($.map.toImage().height); //some scaled value, not useful 
    Ti.API.info($.map.toBlob().width); //image original/full size width 
    Ti.API.info($.map.toBlob().height); //image original/full size height  
    alert('rectX:'+rect.width+',rectY:'+rect.height+',mapGW:'+$.map.getWidth()+',mapGH:'+$.map.getHeight()+',tiX:'+$.map.toImage().width+',tiY:'+$.map.toImage().height+',tbX:'+$.map.toBlob().width+',tbY:'+$.map.toBlob().height); 
}); 
관련 문제