나는 비트 맵을 확장하려고 노력하고 있으며, 모든 안드로이드 폰에서 작업하길 바란다. 나는이 웹 사이트에이 코드를 보았다,하지만 난 내 응용 프로그램 :이 코드를 적용하는 방법과 위치를 확실하지 않다은 적절한 스케일링입니까?
코드 : 나는 또한이 웹 사이트에서이 코드를보고
다음 Bitmap image1, pic1;
image1 = BitmapFactory.decodeResource(getResources(), R.drawable.image1);
float xScale = (float) canvas.getWidth()/image1.getWidth();
float yScale = (float) canvas.getHeight()/image1.getHeight();
float scale = Math.max(xScale, yScale); //selects the larger size to grow the images by
scale = (float) (scale*1.1); //this allows for ensuring the image covers the whole screen.
scaledWidth = scale * image1.getWidth();
scaledHeight = scale * image1.getHeight();
pic1 = Bitmap.createScaledBitmap(image1, (int)scaledWidth, (int)scaledHeight, true);
이
http://developer.sonymobile.com/2011/06/27/how-to-scale-images-for-your-android-application/
마지막 업데이트 2011 년
다시 것 같다 수있는 사람은 메타 설명하십시오 od는 API10 또는>와 같은 새로운 API에 더 좋습니다.
나는 지금 API19가 있다는 것을 알고 있으므로, 이것들의 새로운 버전이 있어야한다고 확신합니다.
우리와 함께 지식과 친절을 나누시겠습니까?
대단히 감사합니다.
도움 주셔서 감사합니다. 처음에는 저의 목적은 ldpi, mdpi, hdpi, xhdpi, xxhdpi 폴더에 올바른 크기의 이미지를 배치하는 것이 었습니다. 그래서 코드에서 확장 할 필요가 없었습니다. 내가 겪고있는 문제는 슬라이드 쇼 앱을위한 많은 이미지가 있다는 것입니다. 즉, 내 앱의 크기가 앱에 비해 너무 큰 100MB를 초과하게됩니다. 위에 나열된 코드는 메모리 부족 문제로 인해 문제가 있습니까? 또한 코드를 어디에 배치해야합니까? 나는 멍청한 놈들의 질문에 유감이다. 고맙습니다. – Dante
네, 메모리를 낮게 유지해야 할 가능성이 큽니다. 서버에 이미지를 남겨두면 앱에서 필요한 정보를 다운로드 할 수 있습니다. 대형 앱이나 이미지를 자주 변경하는 경우에 매우 일반적인 시나리오입니다. 위의 코드는 이미지를 읽고 즉시 필요한 크기로 조정해야 할 때 사용해야합니다. 위에서 언급했듯이 안드로이드와 다르게 이미지를 편집하려는 경우를 제외하고는 필요하지 않습니다. 이미지 편집 응용 프로그램이 좋은 예입니다. 사용자에게 큰 작은 이미지 선택을 표시하고 이에 따라 크기를 조정할 수 있습니다. – Martin