java生成点阵图_Android从SD卡读取图片并显示为点阵图
之前做一个项目的时候需要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卡读取图片并显示为点阵图相关推荐
- 【紫光同创国产FPGA教程】【第十四章】SD卡读取BMP图片显示例程
本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com). 1. 实验简介 在前面的实验中我们练习了SD卡读 ...
- Win10文件夹中图片不显示预览图解决方法
Win10文件夹中图片不显示预览图解决方法分享.如果我们在文件夹里面有很多的图片文件,可以通过预览图来快速的找到自己需要的图片.但是有用户却发现电脑文件夹里面图片不会显示缩略图,今天我们一起来看看如何 ...
- 利用GridView显示SD卡的图片和两段文字
本实例包含一个主layout,含有一个GridView,还有一个用于填充GridView一行的layout,最后是重写一个GridView的适配器类. 由于图片是sd卡里的,没有图片id可用,所以需要 ...
- java生成与解析二维码 支持插入图片与文字
1.依赖: <!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency><g ...
- k210 C语言开发-4 从sd卡读取播放烟花视频
k210 C语言开发-4 先上成果图吧,祝大伙新年快乐! B站原视频.完整代码在文末. 前天无意中看到CSDN有个活动,我一看只要是和烟花相关的都可以,然后我就准备用k210播放个烟花视频.结果我哼哧 ...
- lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示
概述 本教程使用的单片机是STM32F103ZE,有线网口芯片为ENC28J60. 本教程里面的网页由于需要兼容Windows XP系统的IE8浏览器,所以采用HTML 4.01编写,不使用任何前端框 ...
- android6.0 sd卡卸载api,android6.0 用户关掉sd卡读取权限的情况下, 还能做到手机缓存么?...
兄弟,你理解错了. 可以看看官方文档. Android的储存空间分两块:Internal storage和External storage Internal storage 总是可用的,不需要额外权限 ...
- ubutntu 使用tftp_TI 816X开发板直接从SD卡读取内核到内存中和通过TFTP下载到内存中区别...
用的是TI的 816X开发板,现在碰到一个问题,想不明白,请教各位. 我的开发环境是在vmware下安装的ubuntu10.04,通过网线连接到开发板的网口(J10),主机IP为192.168.0.1 ...
- STM32笔记--SDIO(SD卡读取)
学习这里首先要了解一下SD卡基本资料: SD卡的协议部分太多,也比较复杂,建议资料:<Simplified_Physical_Layer_Spec.pdf>其主要复杂在繁多的命令,一共有6 ...
最新文章
- 提高C++性能的编程技术笔记:编码优化+测试代码
- 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
- Android之——短信的备份与还原
- Android开发技术周报 Issue#20
- 添加Mysql普通用户来管理hive
- 对请求并发数做限制的通用RequestDecorator
- 斗地主AI算法——第十四章の主动出牌(3)
- Flutter 微信分享功能实现
- ubuntu安装 rust nightly_一起学Rust编程「1」:开发环境
- 无线打印服务器 惠普打印机,连接您的HP无线打印机 | 无线打印中心 | 惠普中国...
- python文本交换_有没有办法用python交换文本文件中的两行文本?
- mysql下载备份数据库命令行_MYSQL 数据库导入导出命令 | 很文博客
- 【转载】生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT
- spring boot启动后控制台没有端口信息打印日志也很少
- ionic Android编译打包出错:Failed to install 'cordova-plugin-code-push'
- 云+5g +大数据 +ai_5G + AI,设备智能(第一部分)
- idea2021运行内存扩大
- 一文叫你学会用JavaWeb开发共享图书馆系统(附加支付宝沙箱支付接入)
- 玩转CSDN:你离写一篇高逼格文章就还差几个工具而已
- 有用的Linux操作系统的基础命令总结
热门文章
- zigzag矩阵按照之字形线路产生方法(C++)
- android自定义悬浮控件
- Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
- python面对对象实验_实验题目:python面向对象程序设计
- pycharm关闭自动更新
- VMware与 Device/Credential Guard 不兼容.
- Ubuntu18.04关闭zeitgeist-datahub自启动
- 分贝、声功率级、声强级和声压级
- 段错误原理:Segmentation fault: 11
- sobel算子_边缘检测算法4.-教你动手实现kirsch和robinson算子