Android examples for Graphics:Bitmap Effect
Decodes the dimension of a bitmap.
/*// ww w.j av a2 s .c o m * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.Point; import android.media.MediaMetadataRetriever; import com.android.camera.debug.Log; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import javax.microedition.khronos.opengles.GL11; public class Main{ private static final Log.Tag TAG = new Log.Tag("LocalDataUtil"); /** * Decodes the dimension of a bitmap. * * @param path The path to the bitmap. * @return The decoded width/height is stored in Point.x/Point.y * respectively. */ public static Point decodeBitmapDimension(String path) { Point size = null; InputStream is = null; try { is = new FileInputStream(path); size = decodeBitmapDimension(is); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (IOException e) { } } } return size; } /** * Decodes the dimension of a bitmap. * * @param is An input stream with the data of the bitmap. * @return The decoded width/height is stored in Point.x/Point.y * respectively. */ public static Point decodeBitmapDimension(InputStream is) { Point size = null; BitmapFactory.Options justBoundsOpts = new BitmapFactory.Options(); justBoundsOpts.inJustDecodeBounds = true; BitmapFactory.decodeStream(is, null, justBoundsOpts); if (justBoundsOpts.outWidth > 0 && justBoundsOpts.outHeight > 0) { size = new Point(justBoundsOpts.outWidth, justBoundsOpts.outHeight); } else { Log.e(TAG, "Bitmap dimension decoding failed"); } return size; } }