之前做一个项目的时候需要1.从SD卡读取图片转为预览图(点阵图,类似马赛克),2.保存当前预览图到特定文件夹,保存为一个txt,txt里存的是像素矩阵。3.从那个特定文件夹里读取像素矩阵,显示为预览图。

今天一下午和一晚上都在纠结第3个任务。终于搞定了。

bmp=Bitmap.createBitmap(Bitmap2, width*size, height*size,

Bitmap.Config.ARGB_8888);

第4个参数..蛋疼,之前写成bmp.getConfig(),一运行就意外停止。

这个函数的作用就是把像素矩阵转为bitmap,之后在imageView中显示。

Activity01Activity.java :

package zhang.zhuoyueBei.SDCardFileExplorerAndFileToBitMap;

import

zhang.zhuoyueBei.SDCardFileExplorerAndFileToBitMap.R;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class Activity01Activity extends Activity {

@Override

public void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button3=(Button) findViewById(R.id.button3);

button3.setOnClickListener(new Button.OnClickListener() {

public void

onClick(View v)

{

Intent

intent = new Intent();

intent.setClass(Activity01Activity.this,

FileToBitMapActivity.class);

startActivity(intent);

Activity01Activity.this.finish();

}

});

}

@Override

public void

onStart()

{

super.onStart();

}

@Override

public void onResume()

{

super.onResume();

}

@Override

public void onPause()

{

super.onPause();

}

@Override

public void onStop()

{

super.onStop();

}

@Override

public void onDestroy()

{

super.onDestroy();

}

@Override

public void onRestart()

{

super.onRestart();

}

}

FileToBitMapActivity.java :

package zhang.zhuoyueBei.SDCardFileExplorerAndFileToBitMap;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import zhang.zhuoyueBei.SDCardFileExplorerAndFileToBitMap.R;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

import android.graphics.Matrix;

public class FileToBitMapActivity extends Activity

{

String SDcardPath;

String FolderPath;

String filePath;

int state=0;//0 没参数,1

取得imagepath,2取得资源文件path

int width=16;

int height;

int

initWidth;

int

initHeight;

Bitmap

bmp;

int[]

Bitmap1;//缩放后16行的像素矩阵

int

size=20;//1格点阵的边长

int[]

Bitmap2;//缩略图

String

res=null;

ImageView

mImageView;

public

String getSDPath(){

File sdDir = null;

boolean sdCardExist =

Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在

if (sdCardExist) { sdDir = Environment.getExternalStorageDirectory();//获取根目录

} return sdDir.toString();

}

@Override

public void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.filetobitmap);

SDcardPath=getSDPath();

FolderPath=SDcardPath+"/MagicSwing";

Bundle bundle= new

Bundle();

bundle=this.getIntent().getExtras();

if(bundle!=null){

filePath=bundle.getString("filePath");

state=bundle.getInt("state");

if(state==1){

Bitmap  image

= BitmapFactory.decodeFile(filePath);

initWidth = image.getWidth();

initHeight = image.getHeight();

float scale=((float)width)/initWidth;

height=(int)(initHeight*scale);

//将image缩放后存在bmp中

Matrix matrix=new Matrix();

//缩放矩阵

matrix.postScale(scale,scale);

//缩放

java生成点阵图_Android从SD卡读取图片并显示为点阵图相关推荐

  1. 【紫光同创国产FPGA教程】【第十四章】SD卡读取BMP图片显示例程

    本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com). 1. 实验简介 在前面的实验中我们练习了SD卡读 ...

  2. Win10文件夹中图片不显示预览图解决方法

    Win10文件夹中图片不显示预览图解决方法分享.如果我们在文件夹里面有很多的图片文件,可以通过预览图来快速的找到自己需要的图片.但是有用户却发现电脑文件夹里面图片不会显示缩略图,今天我们一起来看看如何 ...

  3. 利用GridView显示SD卡的图片和两段文字

    本实例包含一个主layout,含有一个GridView,还有一个用于填充GridView一行的layout,最后是重写一个GridView的适配器类. 由于图片是sd卡里的,没有图片id可用,所以需要 ...

  4. java生成与解析二维码 支持插入图片与文字

    1.依赖: <!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency><g ...

  5. k210 C语言开发-4 从sd卡读取播放烟花视频

    k210 C语言开发-4 先上成果图吧,祝大伙新年快乐! B站原视频.完整代码在文末. 前天无意中看到CSDN有个活动,我一看只要是和烟花相关的都可以,然后我就准备用k210播放个烟花视频.结果我哼哧 ...

  6. lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示

    概述 本教程使用的单片机是STM32F103ZE,有线网口芯片为ENC28J60. 本教程里面的网页由于需要兼容Windows XP系统的IE8浏览器,所以采用HTML 4.01编写,不使用任何前端框 ...

  7. android6.0 sd卡卸载api,android6.0 用户关掉sd卡读取权限的情况下, 还能做到手机缓存么?...

    兄弟,你理解错了. 可以看看官方文档. Android的储存空间分两块:Internal storage和External storage Internal storage 总是可用的,不需要额外权限 ...

  8. ubutntu 使用tftp_TI 816X开发板直接从SD卡读取内核到内存中和通过TFTP下载到内存中区别...

    用的是TI的 816X开发板,现在碰到一个问题,想不明白,请教各位. 我的开发环境是在vmware下安装的ubuntu10.04,通过网线连接到开发板的网口(J10),主机IP为192.168.0.1 ...

  9. STM32笔记--SDIO(SD卡读取)

    学习这里首先要了解一下SD卡基本资料: SD卡的协议部分太多,也比较复杂,建议资料:<Simplified_Physical_Layer_Spec.pdf>其主要复杂在繁多的命令,一共有6 ...

最新文章

  1. 提高C++性能的编程技术笔记:编码优化+测试代码
  2. 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
  3. Android之——短信的备份与还原
  4. Android开发技术周报 Issue#20
  5. 添加Mysql普通用户来管理hive
  6. 对请求并发数做限制的通用RequestDecorator
  7. 斗地主AI算法——第十四章の主动出牌(3)
  8. Flutter 微信分享功能实现
  9. ubuntu安装 rust nightly_一起学Rust编程「1」:开发环境
  10. 无线打印服务器 惠普打印机,连接您的HP无线打印机 | 无线打印中心 | 惠普中国...
  11. python文本交换_有没有办法用python交换文本文件中的两行文本?
  12. mysql下载备份数据库命令行_MYSQL 数据库导入导出命令 | 很文博客
  13. 【转载】生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT
  14. spring boot启动后控制台没有端口信息打印日志也很少
  15. ionic Android编译打包出错:Failed to install 'cordova-plugin-code-push'
  16. 云+5g +大数据 +ai_5G + AI,设备智能(第一部分)
  17. idea2021运行内存扩大
  18. 一文叫你学会用JavaWeb开发共享图书馆系统(附加支付宝沙箱支付接入)
  19. 玩转CSDN:你离写一篇高逼格文章就还差几个工具而已
  20. 有用的Linux操作系统的基础命令总结

热门文章

  1. zigzag矩阵按照之字形线路产生方法(C++)
  2. android自定义悬浮控件
  3. Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
  4. python面对对象实验_实验题目:python面向对象程序设计
  5. pycharm关闭自动更新
  6. VMware与 Device/Credential Guard 不兼容.
  7. Ubuntu18.04关闭zeitgeist-datahub自启动
  8. 分贝、声功率级、声强级和声压级
  9. 段错误原理:Segmentation fault: 11
  10. sobel算子_边缘检测算法4.-教你动手实现kirsch和robinson算子