⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitmapdecode.java

📁 android 例子中的确良ApiDemos。很有代表意义
💻 JAVA
字号:
/* * Copyright (C) 2007 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. */package com.example.android.apis.graphics;import com.example.android.apis.R;import android.app.Activity;import android.content.Context;import android.graphics.*;import android.graphics.drawable.*;import android.os.Bundle;import android.view.KeyEvent;import android.view.*;import java.io.IOException;import java.io.InputStream;public class BitmapDecode extends GraphicsActivity {        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(new SampleView(this));    }        private static class SampleView extends View {        private Bitmap mBitmap;        private Bitmap mBitmap2;        private Bitmap mBitmap3;        private Bitmap mBitmap4;        private Drawable mDrawable;                private Movie mMovie;        private long mMovieStart;                public SampleView(Context context) {            super(context);            setFocusable(true);                        java.io.InputStream is;            is = context.getResources().openRawResource(R.drawable.beach);                        BitmapFactory.Options opts = new BitmapFactory.Options();            Bitmap bm;                        opts.inJustDecodeBounds = true;            bm = BitmapFactory.decodeStream(is, null, opts);                        // now opts.outWidth and opts.outHeight are the dimension of the            // bitmap, even though bm is null                        opts.inJustDecodeBounds = false;    // this will request the bm            opts.inSampleSize = 4;             // scaled down by 4            bm = BitmapFactory.decodeStream(is, null, opts);                        mBitmap = bm;                        // decode an image with transparency            is = context.getResources().openRawResource(R.drawable.frog);            mBitmap2 = BitmapFactory.decodeStream(is);                        // create a deep copy of it using getPixels() into different configs            int w = mBitmap2.getWidth();            int h = mBitmap2.getHeight();            int[] pixels = new int[w*h];            mBitmap2.getPixels(pixels, 0, w, 0, 0, w, h);            mBitmap3 = Bitmap.createBitmap(pixels, 0, w, w, h,                                           Bitmap.Config.ARGB_8888);            mBitmap4 = Bitmap.createBitmap(pixels, 0, w, w, h,                                           Bitmap.Config.ARGB_4444);                        mDrawable = context.getResources().getDrawable(R.drawable.button);            mDrawable.setBounds(150, 20, 300, 100);                        is = context.getResources().openRawResource(R.drawable.animated_gif);            mMovie = Movie.decodeStream(is);        }                @Override protected void onDraw(Canvas canvas) {            canvas.drawColor(0xFFCCCCCC);                                    Paint p = new Paint();            p.setAntiAlias(true);                        canvas.drawBitmap(mBitmap, 10, 10, null);            canvas.drawBitmap(mBitmap2, 10, 170, null);            canvas.drawBitmap(mBitmap3, 110, 170, null);            canvas.drawBitmap(mBitmap4, 210, 170, null);                        mDrawable.draw(canvas);                        long now = android.os.SystemClock.uptimeMillis();            if (mMovieStart == 0) {   // first time                mMovieStart = now;            }            int relTime = (int)((now - mMovieStart) % mMovie.duration());            mMovie.setTime(relTime);            mMovie.draw(canvas, getWidth() - mMovie.width(),                        getHeight() - mMovie.height());            invalidate();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -