当前位置:首页 » 安卓系统 » android图像

android图像

发布时间: 2022-04-02 10:51:45

㈠ android 图像软件

现在还用这种呀,直接用手势放大缩小就行呀

㈡ android设置图片

1、创建imageview对象

2、设置imageview的图片
3、添加到布局中
示例代码
ViewGroup group = (ViewGroup) findViewById(R.id.viewGroup); //获取原来的布局容器
ImageView imageView = new ImageView(this); //创建imageview
imageView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); //image的布局方式
imageView.setImageResource(R.drawable.ic_launcher); //设置imageview呈现的图片
group.addView(imageView); //添加到布局容器中,显示图片。

㈢ android 加载图片

可以 啊

㈣ Android图像定位识别

LZ可以去看看opencv,然后使用opencvforandroid里的lib,将程序移植到android手机上

㈤ android图片显示的几种办法

方法1:TextView显示

java"><TextView
android:id="@+id/textview_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_launcher"
android:text="hello_world"/>

第二种方式:显示项目中的图片

mTextView02=(TextView)findViewById(R.id.textview_02);
//把图片生成的ID加入img标签中<imgsrc='123'>
StringhtmlFor02="项目图片测试:"+"<imgsrc='"+R.drawable.ic_launcher+"'>"+"<imgsrc='"
+R.drawable.apple+"'>";
mTextView02.setText(Html.fromHtml(htmlFor02,newHtml.ImageGetter(){
@Override
publicDrawablegetDrawable(Stringsource){
Log.d(TAG,"项目图片测试_source:"+source);
intid=Integer.parseInt(source);
Drawabledrawable=getResources().getDrawable(id,null);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
returndrawable;
}
},null));

㈥ Android如何进行图片编辑

裁剪选取或拍摄的图片
public static void cropphoto(Fragment fragment, Uri uri){ //设置裁剪图片保存位置 File bomb=new File(fragment.getContext().getExternalCacheDir(),"bmob"); Log.d("tag", "cropphoto: "+bomb); if (!bomb.exists()){ bomb.mkdir(); } File file=new File(bomb,"user_icon.jpg"); if (!file.exists()){ try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } Intent intent=new Intent("com.android.camera.action.CROP");//intent隐式调用启动拍照界面 intent.setDataAndType(uri,"image/*");//设置需要裁剪的图片地址 intent.putExtra("crop", "true");//通过put(key,value)方法设置相关属相 intent.putExtra("aspectX", 1);//设置图片宽高比例 intent.putExtra("aspectY", 1); intent.putExtra("outputX", 240);//设置图片宽高 intent.putExtra("outputY", 240); intent.putExtra("return-data", false);//该属性设置为false表示拍照后不会将数据返回到onResluet方法中(建议设置为false,这样获取的图片会比较清晰) intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));//该属性设置的是拍照后图片保存的位置 intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());//设置输出格式 intent.putExtra("noFaceDetection", true);//是否取消人脸识别 /*ComponentName componentName = intent.resolveActivity(context.getPackageManager()); Log.d("TAG", "cropphoto: "+componentName); if (componentName!=null){ fragment.startActivityForResult(intent,Variable.request_crop); }*/ fragment.startActivityForResult(intent,Variable.request_crop); }

㈦ Android绘制图片的几种方式

在android中做图像镜像有很多方法,今天算是学习了!
两种方法如下:

复制代码 代码如下:

//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前两个是xy变换,后两个是对称轴中心点
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();

方法一,使用矩阵的方式(3x3)矩阵:
1、先使用postScale的方式将图片以点(bmpW/2,bmpH/2)为中心,以x=bmpW/2为对称轴翻转;
2、使用postTranslate,将图片移到(x,y)坐标
方法二,画布翻转(略)
注意如下问题:
对于其中的bmpW和bmpH是指所用图片的宽高,需要使用图片bmp.getWidth()和bmp.getHeight()获取,
不能使用PC上看到的大小,否则可能会出现错位!

㈧ android图像处理 为什么我这段代码图像显示不出来我输入的是只有黑白两色的图像

调用例子
resultBitmap = (Bitmap) intent.getParcelableExtra("resultBitmap");
// 图片与处理
BitmapFilter bitmapFilter = new BitmapFilter(resultBitmap);
bitmapFilter.changeGrey();
resultBitmap = bitmapFilter.getBitmap();

以下是BitmapFilter
package com.example.androcr;

import android.graphics.Bitmap;
import android.graphics.Color;

/**
* 图像预处理类
* @author Administrator
*/
public class BitmapFilter {

private Bitmap bitmap;
private int iw;
private int ih;
private int[] pixels;

public BitmapFilter(Bitmap bitmap) {
this.bitmap = bitmap;
this.iw = bitmap.getWidth();
this.ih = bitmap.getHeight();
pixels = new int[iw * ih];
// 将bitmap转化为pixel数组
bitmap.getPixels(pixels, 0, iw, 0, 0, iw, ih);
}

public Bitmap getBitmap() {
// 将pixel数组转化为bitmap
bitmap = Bitmap.createBitmap(pixels, iw, ih, Bitmap.Config.ARGB_8888);
return bitmap;
}

/**
* 图像的二值化
*/
public void changeGrey() {
// 选取的阈值
int grey = 120;
int pixel;
int alpha, red, green, blue;
for (int i = 0; i < iw * ih; i++) {
pixel = pixels[i];
alpha = Color.alpha(pixel);
red = Color.red(pixel);
green = Color.green(pixel);
blue = Color.blue(pixel);
red = (red > grey) ? 255 : 0;
green = (green > grey) ? 255 : 0;
blue = (blue > grey) ? 255 : 0;
pixels[i] = alpha << 24 | red << 16 | green << 8 | blue;
}
}

/**
* 图像的锐化
*/
public void sharp() {
// 像素中间变量
int tempPixels[] = new int[iw * ih];
for (int i = 0; i < iw * ih; i++) {
tempPixels[i] = pixels[i];
}
int alpha;
int red6, red5, red8, sharpRed;
int green5, green6, green8, sharpGreen;
int blue5, blue6, blue8, sharpBlue;
for (int i = 1; i < ih - 1; i++) {
for (int j = 1; j < iw - 1; j++) {
alpha = Color.alpha(pixels[i * iw + j]);
// 对图像进行尖锐化
// 锐化red
red6 = Color.red(pixels[i * iw + j + 1]);
red5 = Color.red(pixels[i * iw + j]);
red8 = Color.red(pixels[(i + 1) * iw + j]);
sharpRed = Math.abs(red6 - red5) + Math.abs(red8 - red5);
// 锐化green
green5 = Color.green(pixels[i * iw + j]);
green6 = Color.green(pixels[i * iw + j + 1]);
green8 = Color.green(pixels[(i + 1) * iw + j]);
sharpGreen = Math.abs(green6 - green5)
+ Math.abs(green8 - green5);
// 锐化blue
blue5 = Color.blue(pixels[i * iw + j]);
blue6 = Color.blue(pixels[i * iw + j + 1]);
blue8 = Color.blue(pixels[(i + 1) * iw + j]);
sharpBlue = Math.abs(blue6 - blue5)
+ Math.abs(blue8 - blue5);
// 处理颜色溢出
if (sharpRed > 255)
sharpRed = 255;
if (sharpGreen > 255)
sharpGreen = 255;
if (sharpBlue > 255)
sharpBlue = 255;
tempPixels[i * iw + j] = alpha << 24 | sharpRed << 16
| sharpGreen << 8 | sharpBlue;
}
}
pixels = tempPixels;
}

/**
* 中值滤波
*/
public void median() {
// 对图像进行中值滤波
int alpha, red, green, blue;
int red4, red5, red6;
int green4, green5, green6;
int blue4, blue5, blue6;
for (int i = 1; i < ih - 1; i++) {
for (int j = 1; j < iw - 1; j++) {
// alpha值保持不变
alpha = Color.alpha(pixels[i * iw + j]);
// 处理red分量
red4 = Color.red(pixels[i * iw + j - 1]);
red5 = Color.red(pixels[i * iw + j]);
red6 = Color.red(pixels[i * iw + j + 1]);
// 水平方向进行中值滤波
if (red4 >= red5) {
if (red5 >= red6) {
red = red5;
} else {
if (red4 >= red6) {
red = red6;
} else {
red = red4;
}
}
} else {
if (red4 > red6) {
red = red4;
} else {
if (red5 > red6) {
red = red6;
} else {
red = red5;
}
}
}
// 处理green分量
green4 = Color.green(pixels[i * iw + j - 1]);
green5 = Color.green(pixels[i * iw + j]);
green6 = Color.green(pixels[i * iw + j + 1]);
// 水平方向进行中值滤波
if (green4 >= green5) {
if (green5 >= green6) {
green = green5;
} else {
if (green4 >= green6) {
green = green6;
} else {
green = green4;
}
}
} else {
if (green4 > green6) {
green = green4;
} else {
if (green5 > green6) {
green = green6;
} else {
green = green5;
}
}
}
// 处理blue分量
blue4 = Color.blue(pixels[i * iw + j - 1]);
blue5 = Color.blue(pixels[i * iw + j]);
blue6 = Color.blue(pixels[i * iw + j + 1]);
// 水平方向进行中值滤波
if (blue4 >= blue5) {
if (blue5 >= blue6) {
blue = blue5;
} else {
if (blue4 >= blue6) {
blue = blue6;
} else {
blue = blue4;
}
}
} else {
if (blue4 > blue6) {
blue = blue4;
} else {
if (blue5 > blue6) {
blue = blue6;
} else {
blue = blue5;
}
}
}
pixels[i * iw + j] = alpha << 24 | red << 16 | green << 8
| blue;
}
}
}

/**
* 图像的平滑
*/
public void smooth() {
int[] tempPixels = new int[iw * ih];
//图像的平滑
int min = -1000;
int max = 1000;
for (int i = 0; i < ih; i++) {
for (int j = 0; j < iw; j++) {
if (i == 0 || i == 1 || i == ih - 1 || i == ih - 2 || j == 0
|| j == 1 || j == iw - 1 || j == iw - 2) {
tempPixels[i * iw + j] = pixels[i * iw + j];
} else {
// 中心的九个像素点
float average = (
pixels[i * iw + j]
+ pixels[i * iw + j - 1]
+ pixels[i * iw + j + 1]
+ pixels[(i - 1) * iw + j]
+ pixels[(i - 1) * iw + j - 1]
+ pixels[(i - 1) * iw + j + 1]
+ pixels[(i + 1)]
+ pixels[(i + 1) * iw + j]
+ pixels[(i + 1) * iw + j - 1]
) / 9;
tempPixels[i * iw + j] = (int) (average);
}
if (tempPixels[i * iw + j] < min)
min = tempPixels[i * iw + j];
if (tempPixels[i * iw + j] > max)
max = tempPixels[i * iw + j];
}
}
for (int i = 0; i < iw * ih; i++) {
tempPixels[i] = (tempPixels[i] - min) * 255 / (max - min);
}
pixels = tempPixels;
}

}

㈨ Android图像处理软件

有,而且就有android版本的photoshop,可以大概的处理图像,但是如果是精细处理建议用电脑

㈩ android如何实现图片预览

eoe 里边有很多例子 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=245578

热点内容
三星如何取消指纹解锁密码 发布:2025-04-03 17:22:03 浏览:898
阿里云服务器和自己电脑 发布:2025-04-03 17:21:01 浏览:169
锈湖安卓在哪里下载 发布:2025-04-03 17:14:34 浏览:981
Java项目案例分析 发布:2025-04-03 17:01:33 浏览:270
sql导入导出数据库 发布:2025-04-03 16:48:18 浏览:781
微信平台数据库 发布:2025-04-03 16:46:28 浏览:887
网络编程技术电大 发布:2025-04-03 16:43:06 浏览:349
编程菜鸟教程 发布:2025-04-03 16:39:51 浏览:255
android网络库 发布:2025-04-03 16:36:52 浏览:557
北京时间服务器ip地址端口号 发布:2025-04-03 16:35:56 浏览:856