图片的拷贝

获取资源目录下的图片   getResources()应该是资源文件的目录路径

package com.itheima.copybitmap;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {
	private ImageView iv1,iv2;
	private Bitmap alterBitmap;
	private Bitmap srcBmp;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		iv1 = (ImageView) findViewById(R.id.iv1);
		iv2 = (ImageView) findViewById(R.id.iv2);
		//给第一个imageview默认设置一个位图
		//获取资源目录下的图片   getResources()应该是资源文件的目录路径
		//这里是decodeResource   而不是decodeFile
		srcBmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
		iv1.setImageBitmap(srcBmp);
		//创建原图的一个副本。 可修改  创建的是一个空白的图形。
		//位图的配置其实就是格式  有32位图  单色位图等等
		//srcBmp.getConfig()  指的是和原位图一致的配置
		alterBitmap = Bitmap.createBitmap(srcBmp.getWidth()*2, srcBmp.getHeight()*2,srcBmp.getConfig());
	}
	/**
	 * 创建原图 bm的一个拷贝。副本
	 * @param view
	 */
	public void click(View view){
		//1.准备一个画板  在上面放上准备好的 空白的位图
		Canvas canvas = new Canvas(alterBitmap);
		//2.准备一个画笔
		Paint paint = new Paint();
		paint.setColor(Color.BLACK);
		//3.画画
		Matrix m = new Matrix(); //按照1:1的方式进行画画
		//指定水平和竖直方向的缩放比例,上面副本长和宽都要乘以2,要不无法完整显示
		//默认把原图按照1:1的比例画在空白副本上,这里可以设置为自己指定的比例
		m.setScale(2.0f, 2.0f);
		//这里是srcBmp 而不是alterBitmap
		//调用这个方法来画的时候,图形是已经确定好
		//就是srcBmp对于图形,按照Matrix指定的模式画出来
		canvas.drawBitmap(srcBmp, m, paint);
		iv2.setImageBitmap(alterBitmap);//把原图的副本设置到界面上。
	}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="拷贝一个位图" />

    <ImageView
        android:id="@+id/iv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/iv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
时间: 2024-08-10 01:53:51

图片的拷贝的相关文章

java _io_文件的拷贝、图片的拷贝、可变参数、try...with...resource面向

public static void close(Closeable... io) //可变参数,相当于数组 Closeable... io //可变参数,使用时相当于数组(for循环遍历)Closeable 输入输出流实现的接口,在释放资源时使用try...with..resource 自动释放资源工具:在try后接(is;os),其他的不变,会自动释放资源,不用管先后顺序(手动书写关闭时要先打开的后关闭)try(InputStream iso=is;OutputStream oso=os){

python遍历所有盘符下的图片并拷贝下来

最近在学习python,闲着无聊就试着写啦这个小的脚本,虽然有很多不足,但是还是收获不少. 该脚本的功能: ①遍历本地计算机中的所有盘符,并将名称记录下来: ②循环遍历盘符下的所有图片(当然这里可以根据自己的需求来遍历不同类型的文件),并下载. 源代码(有不足的地方请联系我,谢谢): 1 #coding=utf-8 2 import os 3 import shutil 4 5 #返回当前工作目录 6 beforedir = os.getcwd() 7 8 def dir(way): 9 pic

FLEX 图片拷贝

在用FLEX做GIS相关的开发的时候,遇到一个问题.因为是监控类的系统,所以需要要求地图上的ICON的实时更新,从而会出现重复加载的情况.就是重复请求相同的图片用做背景,尤其是在加载的ICON较多的时候,会有大量的http请求占用大量的资源. 这时候想到两种解决办法: 把图片资源嵌入FLEX文件 把图片做缓存 (1)把图片资源嵌入FLEX文件: [Bindable] [Embed(source="image/example.jpg")] private var imgClass:Cla

windows server 2008 大量拷贝后释放内存

管理的服务器中有一台windows 2008,这台服务器最近每天都会拷贝几十万的图片,拷贝量非常大,维护时发现每次拷贝完,操作系统的内存使用都会接近100%,导致没有办法进行其它操作,前几次都通过下班后重启服务器解决,今天仔细查了一下,找到了问题的原因 问题描述: server 2008 r2系统会在进行大量IO操作时,占据大量内存资源,直至内存占满,从而导致系统运行速度变慢. 相关现象:1. 内存占用率90%以上(即是是64G内存,也会占用63.5G)2. 资源管理器中所有进程内存和较低(约1

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be

python 读取图片的尺寸、分辨率

#需要安装PIL模块 #encoding=gbk#-------------------------------------------------------------------------------# Name: picRead# Purpose:## Author: wangchao## Created: 27/06/2014# Copyright: (c) wangchao 2014# Licence: <your licence>#-----------------------

php和js对数据库图片进行等比缩放

JS 对某图片的等比缩放 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&

承香墨影 Android--Matrix图片变换处理

承香墨影 Android--Matrix图片变换处理 前言 本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 本篇博客的主要内容: Matrix Matrix缩放 Matrix旋转 Matrix位移 Matrix倾斜 Matrix变换注意事项 Matrix完整的Demo Matrix 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下

使用MFC CImage类和GDI+ Image加载并绘制PNG图片

一.使用MFC CImage类加载PNG图片        为了测试CImage绘制PNG图片的效果,我们用截图软件截得一张360的界面,然后使用PhotoShop等工具在图片的周边加上了透明的区域,然后保存成PNG图片文件.CImage首先从文件中加载,即 CImage* m_pImgBk; ...... m_pImgBk = new CImage; m_pImgBk->Load( _T("res\\bk.png")); if ( m_pImgBk->IsNull() )