资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

拍照的java源代码 java相机

求JAVA源代码

我用了半个小时 帮你写了一个简单的验证用户名和密码登陆问题 别辜负我的好意 下面是代码!(建好包和类 代码粘过去就能用)

创新互联建站主营西吉网站建设的网络公司,主营网站建设方案,成都App定制开发,西吉h5微信小程序搭建,西吉网站营销推广欢迎西吉等地区企业咨询

实体类 包entity

-------------------------------------------------------------

package entity;

/**

* 用户实体类

* @author new

*

*/

public class Users {

private String name;//用户名

private String pass;//用户密码

/**

* 空的构造函数 用户实力化 此类对象

*/

public Users(){

}

/**

* 构造函数 接收用户名和密码

* @param name

* @param pass

*/

public Users(String name, String pass) {

this.name = name;

this.pass = pass;

}

/**

* 下面set和get方法就不用解释了吧

* @return

*/

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPass() {

return pass;

}

public void setPass(String pass) {

this.pass = pass;

}

}

数据库类 包dao(我是模拟一下数据库 没有用到数据库)

--------------------------------------------------------------

package dao;

import java.util.*;

import entity.Users;//导入实体类

/**

* 模拟数据库 用户DAO

* @author new

*

*/

public class UsersDAO {

private static Users users=new Users();

static

{

users.setName("tom");

users.setPass("jerry");

}

/**

* 根据姓名查找这个用户 (模拟一下数据库)

* @param name

* @return

*/

public Users findUserByName(String name)

{

if(name.equals(this.users.getName()))

{

return this.users;

}

return null;

}

}

业务类 包service (验证用户名和密码)

------------------------------------------------------------

package service;

import dao.UsersDAO;

import entity.Users;

/**

* 验证密码 业务类

* @author new

*

*/

public class validatePass {

//实力化DAO对象

private UsersDAO us=new UsersDAO();

/**

* 验证输入的密码是否正确

* @param name

* @param pass

* @return

*/

public Users validate(String name,String pass)

{

Users user=null;

user=us.findUserByName(name);

//如果不为空 说明查到了

if(user!=null)

{

//用查询出来对象的密码和传过来的密码比较

if(user.getPass().equals(pass))

{

return user;

}

}

return null;

}

}

最后是测试test类 包test

----------------------------------------------------------

package test;

import entity.Users;

import service.validatePass;

/**

* 测试类

* @author new

*

*/

public class test {

/**

* main方法 用于测试

* @param args

*/

public static void main(String[] args)

{

//实例化业务类对象

validatePass v=new validatePass();

//用户名和密码

String name="tom";

String pass="jerry";

//开始验证

Users user=v.validate(name, pass);

if(user==null)

{

System.out.println("你输入的用户名或密码错误!");

}else

{

System.out.println("你已经通过验证,成功登陆!");

}

}

}

java图像处理问题

Java图像处理技巧四则

下面代码中用到的sourceImage是一个已经存在的Image对象

图像剪切

对于一个已经存在的Image对象,要得到它的一个局部图像,可以使用下面的步骤:

//import java.awt.*;

//import java.awt.image.*;

Image croppedImage;

ImageFilter cropFilter;

CropFilter =new CropImageFilter(25,30,75,75); //四个参数分别为图像起点坐标和宽高,即CropImageFilter(int x,int y,int width,int height),详细情况请参考API

CroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(sourceImage.getSource(),cropFilter));

如果是在Component的子类中使用,可以将上面的Toolkit.getDefaultToolkit().去掉。FilteredImageSource是一个ImageProducer对象。

图像缩放

对于一个已经存在的Image对象,得到它的一个缩放的Image对象可以使用Image的getScaledInstance方法:

Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT); //得到一个100X100的图像

Image doubledImage=sourceImage. getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT); //得到一个放大两倍的图像,这个程序一般在一个swing的组件中使用,而类Jcomponent实现了图像观察者接口ImageObserver,所有可以使用this。

//其它情况请参考API

灰度变换

下面的程序使用三种方法对一个彩色图像进行灰度变换,变换的效果都不一样。一般而言,灰度变换的算法是将象素的三个颜色分量使用R*0.3+G*0.59+ B*0.11得到灰度值,然后将之赋值给红绿蓝,这样颜色取得的效果就是灰度的。另一种就是取红绿蓝三色中的最大值作为灰度值。java核心包也有一种算法,但是没有看源代码,不知道具体算法是什么样的,效果和上述不同。

/* GrayFilter.java*/

/*@author:cherami */

/*email:cherami@163点虐 */

import java.awt.image.*;

public class GrayFilter extends RGBImageFilter {

int modelStyle;

public GrayFilter() {

modelStyle=GrayModel.CS_MAX;

canFilterIndexColorModel=true;

}

public GrayFilter(int style) {

modelStyle=style;

canFilterIndexColorModel=true;

}

public void setColorModel(ColorModel cm) {

if (modelStyle==GrayModel

else if (modelStyle==GrayModel

}

public int filterRGB(int x,int y,int pixel) {

return pixel;

}

}

/* GrayModel.java*/

/*@author:cherami */

/*email:cherami@163点虐 */

import java.awt.image.*;

public class GrayModel extends ColorModel {

public static final int CS_MAX=0;

public static final int CS_FLOAT=1;

ColorModel sourceModel;

int modelStyle;

public GrayModel(ColorModel sourceModel) {

super(sourceModel.getPixelSize());

this.sourceModel=sourceModel;

modelStyle=0;

}

public GrayModel(ColorModel sourceModel,int style) {

super(sourceModel.getPixelSize());

this.sourceModel=sourceModel;

modelStyle=style;

}

public void setGrayStyle(int style) {

modelStyle=style;

}

protected int getGrayLevel(int pixel) {

if (modelStyle==CS_MAX) {

return Math.max(sourceModel.getRed(pixel),Math.max(sourceModel.getGreen(pixel),sourceModel.getBlue(pixel)));

}

else if (modelStyle==CS_FLOAT){

return (int)(sourceModel.getRed(pixel)*0.3+sourceModel.getGreen(pixel)*0.59+sourceModel.getBlue(pixel)*0.11);

}

else {

return 0;

}

}

public int getAlpha(int pixel) {

return sourceModel.getAlpha(pixel);

}

public int getRed(int pixel) {

return getGrayLevel(pixel);

}

public int getGreen(int pixel) {

return getGrayLevel(pixel);

}

public int getBlue(int pixel) {

return getGrayLevel(pixel);

}

public int getRGB(int pixel) {

int gray=getGrayLevel(pixel);

return (getAlpha(pixel)24)+(gray16)+(gray8)+gray;

}

}

如果你有自己的算法或者想取得特殊的效果,你可以修改类GrayModel的方法getGrayLevel()。

色彩变换

根据上面的原理,我们也可以实现色彩变换,这样的效果就很多了。下面是一个反转变换的例子:

/* ReverseColorModel.java*/

/*@author:cherami */

/*email:cherami@163点虐 */

import java.awt.image.*;

public class ReverseColorModel extends ColorModel {

ColorModel sourceModel;

public ReverseColorModel(ColorModel sourceModel) {

super(sourceModel.getPixelSize());

this.sourceModel=sourceModel;

}

public int getAlpha(int pixel) {

return sourceModel.getAlpha(pixel);

}

public int getRed(int pixel) {

return ~sourceModel.getRed(pixel);

}

public int getGreen(int pixel) {

return ~sourceModel.getGreen(pixel);

}

public int getBlue(int pixel) {

return ~sourceModel.getBlue(pixel);

}

public int getRGB(int pixel) {

return (getAlpha(pixel)24)+(getRed(pixel)16)+(getGreen(pixel)8)+getBlue(pixel);

}

}

/* ReverseColorModel.java*/

/*@author:cherami */

/*email:cherami@163点虐 */

import java.awt.image.*;

public class ReverseFilter extends RGBImageFilter {

public ReverseFilter() {

canFilterIndexColorModel=true;

}

public void setColorModel(ColorModel cm) {

substituteColorModel(cm,new ReverseColorModel(cm));

}

public int filterRGB(int x,int y,int pixel) {

return pixel;

}

}

要想取得自己的效果,需要修改ReverseColorModel.java中的三个方法,getRed、getGreen、getBlue。

下面是上面的效果的一个总的演示程序。

/*GrayImage.java*/

/*@author:cherami */

/*email:cherami@163点虐 */

import java.awt.*;

import java.awt.image.*;

import javax.swing.*;

import java.awt.color.*;

public class GrayImage extends JFrame{

Image source,gray,gray3,clip,bigimg;

BufferedImage bimg,gray2;

GrayFilter filter,filter2;

ImageIcon ii;

ImageFilter cropFilter;

int iw,ih;

public GrayImage() {

ii=new ImageIcon(\"images/11.gif\");

source=ii.getImage();

iw=source.getWidth(this);

ih=source.getHeight(this);

filter=new GrayFilter();

filter2=new GrayFilter(GrayModel.CS_FLOAT);

gray=createImage(new FilteredImageSource(source.getSource(),filter));

gray3=createImage(new FilteredImageSource(source.getSource(),filter2));

cropFilter=new CropImageFilter(5,5,iw-5,ih-5);

clip=createImage(new FilteredImageSource(source.getSource(),cropFilter));

bigimg=source.getScaledInstance(iw*2,ih*2,Image.SCALE_DEFAULT);

MediaTracker mt=new MediaTracker(this);

mt.addImage(gray,0);

try {

mt.waitForAll();

} catch (Exception e) {

}

android开发怎么实现拍照上传

最近看了几篇关于Android照相机的一些文章,现在总结如下,直接上源代码把,该说的都用注释说完了

1.java代码

package org.android.test;

import java.io.File;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android点虐 .Uri;

import android.os.Bundle;

import android.os.Environment;

import android.provider.MediaStore;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

public class Android_mytestActivity extends Activity {

/** Called when the activity is first created. */

// 定义一个button打开照相机,定义一个imageview显示照相机所拍摄的相片;

Button but,upload_image;

ImageView img;

// 获取sd卡根目录地址,并创建图片父目录文件对象和文件的对象;

String file_str = Environment.getExternalStorageDirectory().getPath();

File mars_file = new File(file_str + "/my_camera");

File file_go = new File(file_str + "/my_camera/file.jpg");

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

but = (Button) findViewById(R.id.my_camare_button);

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

img = (ImageView) findViewById(R.id.my_img_view);

//拍照

but.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 验证sd卡是否正确安装:

if (Environment.MEDIA_MOUNTED.equals(Environment

.getExternalStorageState())) {

// 先创建父目录,如果新创建一个文件的时候,父目录没有存在,那么必须先创建父目录,再新建文件。

if (!mars_file.exists()) {

mars_file.mkdirs();

}

/*//常规情况下,我们这里会 创建子目录,但在这里不用系统拍照完毕后会根据所给的图片路径自动去实现;

if(!file_go.exists())

{

try {

file_go.createNewFile();

} catch (IOException e) {

}}

*/

// 设置跳转的系统拍照的activity为:MediaStore.ACTION_IMAGE_CAPTURE ;

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

// 并设置拍照的存在方式为外部存储和存储的路径;

intent.putExtra(MediaStore.EXTRA_OUTPUT,

Uri.fromFile(file_go));

//跳转到拍照界面;

startActivityForResult(intent, 0x1);

} else {

Toast.makeText(Android_mytestActivity.this, "请先安装好sd卡",

Toast.LENGTH_LONG).show();

}

}

});

//上传

upload_image.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(file_go.exists())

{

//验证图片存在后就实现,上传功能,得到与服务器的输出流...

//什么URLconnection ,HttpURLconnectio等都可以.......

Toast.makeText(Android_mytestActivity.this, "上传中....",

Toast.LENGTH_LONG).show();

}

else

{

Toast.makeText(Android_mytestActivity.this, "请先拍照....",

Toast.LENGTH_LONG).show();

}

}

});

}

//拍照结束后显示图片;

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

// 判断请求码和结果码是否正确,如果正确的话就在activity上显示刚刚所拍照的图片;

if (requestCode == 0x1 resultCode == this.RESULT_OK) {

/* 使用BitmapFactory.Options类防止OOM(Out Of Memory)的问题;

创建一个BitmapFactory.Options类用来处理bitmap;*/

BitmapFactory.Options myoptions=new BitmapFactory.Options();

/* 设置Options对象inJustDecodeBounds的属性为true,用于在BitmapFactory的

decodeFile(String path, Options opt)后获取图片的高和宽;

而且设置了他的属性值为true后使用BitmapFactory的decodeFile()方法无法返回一张

图片的bitmap对象,仅仅是把图片的高和宽信息给Options对象;

*/

myoptions.inJustDecodeBounds=true;

BitmapFactory.decodeFile(file_go.getAbsolutePath(),myoptions);

//根据在图片的宽和高,得到图片在不变形的情况指定大小下的缩略图,设置宽为222;

int height=myoptions.outHeight*222/myoptions.outWidth;

myoptions.outWidth=222;

myoptions.outHeight=height;

//在重新设置玩图片显示的高和宽后记住要修改,Options对象inJustDecodeBounds的属性为false;

//不然无法显示图片;

myoptions.inJustDecodeBounds=false;

//还没完这里才刚开始,要节约内存还需要几个属性,下面是最关键的一个;

myoptions.inSampleSize=myoptions.outWidth/222;

//还可以设置其他几个属性用于缩小内存;

myoptions.inPurgeable=true;

myoptions.inInputShareable=true;

myoptions.inPreferredConfig=Bitmap.Config.ARGB_4444;// 默认是Bitmap.Config.ARGB_8888

//成功了,下面就显示图片咯;

Bitmap bitmat = BitmapFactory.decodeFile(file_go.getAbsolutePath(),myoptions);

img.setImageBitmap(bitmat);

} else {

System.out.println("不显示图片");

}

super.onActivityResult(requestCode, resultCode, data);

}

}

转载

网上很火的拍照代码

拍照代码如下:

JavaScript Code复制内容到剪贴板

var canvas=document.createElement(‘canvas’);

var ctx=canvas.getContext(’2d’);

var cw=vw;

var ch=vh;

ctx.fillStyle=”#ffffff”;

ctx.fillRect(0,0,cw,ch);

ctx.drawImage(video_element,0,0,vvw,vvh,0,0,vw,vh);

document.body.append(canvas)。

代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。它由通过编译器完成。


本文标题:拍照的java源代码 java相机
网站地址:http://www.cdkjz.cn/article/ddgehjp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220