- 浏览: 680883 次
- 性别:
- 来自: 石家庄
-
文章分类
最新评论
-
abao1:
老贾 在安装IDEA的过程中,在激活步骤时,按如下操作即可: ...
IntelliJ IDEA 2016注册方法和注册码 -
bo_hai:
./usr/bin/java: symbol lookup ...
jmagick安装步骤 -
wxcking:
不错的, 收藏一下
JAVA使用POI生成Excel文件 -
zgyfh:
大哥,密码是多少啊?zgyfh@tom.com谢谢了!新手学习 ...
WPF做的必备示例 -
记忆无泪:
jiasongmao 写道你的邮箱是多少,我可以发源代码到邮箱 ...
WPF做的必备示例
public class AlterUploadImage {
String inputDir; //源图片的绝对路径,不包含图片的文件名
String outputDir; //目标图片的绝对路径,不包含图片的文件名
String inputFileName; //源图片文件名
String outputFileName; //目标图片的文件名
int outputWidth; //目标图片的宽
int outputHeight; //目标图片的高
boolean proportion = true; //是否等比例缩放
private String inputFileUrl;//源图片的绝对路径,包含文件名
private String outputFileUrl;//目标图片的绝对路径,包含文件名
public AlterUploadImage(String inputDir, String outputDir,
String inputFileName, String outputFileName, int outputWidth,
int outputHeight, boolean proportion) {
this.inputDir=inputDir;
this.outputDir=outputDir;
this.inputFileName= inputFileName;
this.outputFileName=outputFileName;
this.outputWidth=outputWidth;
this.outputHeight=outputHeight;
this.proportion=proportion;
}
public AlterUploadImage() {
inputDir="";
outputDir="";
inputFileName="";
outputFileName="";
outputWidth=100;
outputHeight=100;
proportion=true;
}
public boolean alterImageSize() {
//构造源、目标图片的路径
inputFileUrl=inputDir+inputFileName;
outputFileUrl=outputDir+outputFileName;
File fileOut = new File(outputFileUrl);
File fileIn = new File(inputFileUrl);
FileOutputStream tempout = null;
try {
tempout = new FileOutputStream(fileOut);
} catch (Exception ex) {
System.out.println(ex.toString());
}
Image img = null;
Toolkit tk = new Toolkit();
Applet app = new Applet();
MediaTracker mt = new MediaTracker(app);
try {
img = javax.imageio.ImageIO.read(fileIn);
mt.addImage(img, 0);
mt.waitForID(0);
} catch (Exception e) {
e.printStackTrace();
}
if (img.getWidth(null) == -1) {
return false;
} else {
int new_w;
int new_h;
if (this.proportion == true) {//判断是否等比例缩放
//计算比率
double rate1 = ((double) img.getWidth(null)) / (double) outputWidth + 0.1;
double rate2 = ((double) img.getHeight(null)) / (double) outputHeight + 0.1;
double rate = rate1 > rate2 ? rate1 : rate2;
new_w = (int) (((double) img.getWidth(null)) / rate);
new_h = (int) (((double) img.getHeight(null)) / rate);
} else {
new_w = outputWidth; //宽
new_h = outputHeight; //高
}
BufferedImage buffImg = new BufferedImage(new_w, new_h,
BufferedImage.TYPE_INT_RGB);
Graphics g = buffImg.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, new_w, new_h);
g.drawImage(img, 0, 0, new_w, new_h, null);
g.dispose();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);
try {
encoder.encode(buffImg);
tempout.close();
} catch (IOException ex) {
System.out.println(ex.toString());
}
}
return true;
}
public String getInputDir() {
return inputDir;
}
public void setInputDir(String inputDir) {
this.inputDir = inputDir;
}
public String getOutputDir() {
return outputDir;
}
public void setOutputDir(String outputDir) {
this.outputDir = outputDir;
}
public String getInputFileName() {
return inputFileName;
}
public void setInputFileName(String inputFileName) {
this.inputFileName = inputFileName;
}
public String getOutputFileName() {
return outputFileName;
}
public void setOutputFileName(String outputFileName) {
this.outputFileName = outputFileName;
}
public int getOutputWidth() {
return outputWidth;
}
public void setOutputWidth(int outputWidth) {
this.outputWidth = outputWidth;
}
public int getOutputHeight() {
return outputHeight;
}
public void setOutputHeight(int outputHeight) {
this.outputHeight = outputHeight;
}
public boolean isProportion() {
return proportion;
}
public void setProportion(boolean proportion) {
this.proportion = proportion;
}
public String getInputFileUrl() {
return inputFileUrl;
}
public void setInputFileUrl(String inputFileUrl) {
this.inputFileUrl = inputFileUrl;
}
public String getOutputFileUrl() {
return outputFileUrl;
}
public void setOutputFileUrl(String outputFileUrl) {
this.outputFileUrl = outputFileUrl;
}
}
String inputDir; //源图片的绝对路径,不包含图片的文件名
String outputDir; //目标图片的绝对路径,不包含图片的文件名
String inputFileName; //源图片文件名
String outputFileName; //目标图片的文件名
int outputWidth; //目标图片的宽
int outputHeight; //目标图片的高
boolean proportion = true; //是否等比例缩放
private String inputFileUrl;//源图片的绝对路径,包含文件名
private String outputFileUrl;//目标图片的绝对路径,包含文件名
public AlterUploadImage(String inputDir, String outputDir,
String inputFileName, String outputFileName, int outputWidth,
int outputHeight, boolean proportion) {
this.inputDir=inputDir;
this.outputDir=outputDir;
this.inputFileName= inputFileName;
this.outputFileName=outputFileName;
this.outputWidth=outputWidth;
this.outputHeight=outputHeight;
this.proportion=proportion;
}
public AlterUploadImage() {
inputDir="";
outputDir="";
inputFileName="";
outputFileName="";
outputWidth=100;
outputHeight=100;
proportion=true;
}
public boolean alterImageSize() {
//构造源、目标图片的路径
inputFileUrl=inputDir+inputFileName;
outputFileUrl=outputDir+outputFileName;
File fileOut = new File(outputFileUrl);
File fileIn = new File(inputFileUrl);
FileOutputStream tempout = null;
try {
tempout = new FileOutputStream(fileOut);
} catch (Exception ex) {
System.out.println(ex.toString());
}
Image img = null;
Toolkit tk = new Toolkit();
Applet app = new Applet();
MediaTracker mt = new MediaTracker(app);
try {
img = javax.imageio.ImageIO.read(fileIn);
mt.addImage(img, 0);
mt.waitForID(0);
} catch (Exception e) {
e.printStackTrace();
}
if (img.getWidth(null) == -1) {
return false;
} else {
int new_w;
int new_h;
if (this.proportion == true) {//判断是否等比例缩放
//计算比率
double rate1 = ((double) img.getWidth(null)) / (double) outputWidth + 0.1;
double rate2 = ((double) img.getHeight(null)) / (double) outputHeight + 0.1;
double rate = rate1 > rate2 ? rate1 : rate2;
new_w = (int) (((double) img.getWidth(null)) / rate);
new_h = (int) (((double) img.getHeight(null)) / rate);
} else {
new_w = outputWidth; //宽
new_h = outputHeight; //高
}
BufferedImage buffImg = new BufferedImage(new_w, new_h,
BufferedImage.TYPE_INT_RGB);
Graphics g = buffImg.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, new_w, new_h);
g.drawImage(img, 0, 0, new_w, new_h, null);
g.dispose();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);
try {
encoder.encode(buffImg);
tempout.close();
} catch (IOException ex) {
System.out.println(ex.toString());
}
}
return true;
}
public String getInputDir() {
return inputDir;
}
public void setInputDir(String inputDir) {
this.inputDir = inputDir;
}
public String getOutputDir() {
return outputDir;
}
public void setOutputDir(String outputDir) {
this.outputDir = outputDir;
}
public String getInputFileName() {
return inputFileName;
}
public void setInputFileName(String inputFileName) {
this.inputFileName = inputFileName;
}
public String getOutputFileName() {
return outputFileName;
}
public void setOutputFileName(String outputFileName) {
this.outputFileName = outputFileName;
}
public int getOutputWidth() {
return outputWidth;
}
public void setOutputWidth(int outputWidth) {
this.outputWidth = outputWidth;
}
public int getOutputHeight() {
return outputHeight;
}
public void setOutputHeight(int outputHeight) {
this.outputHeight = outputHeight;
}
public boolean isProportion() {
return proportion;
}
public void setProportion(boolean proportion) {
this.proportion = proportion;
}
public String getInputFileUrl() {
return inputFileUrl;
}
public void setInputFileUrl(String inputFileUrl) {
this.inputFileUrl = inputFileUrl;
}
public String getOutputFileUrl() {
return outputFileUrl;
}
public void setOutputFileUrl(String outputFileUrl) {
this.outputFileUrl = outputFileUrl;
}
}
发表评论
-
强引用、软引用、弱引用和虚引用
2018-06-06 16:37 434Java 如何有效地避免OOM:善于利用软引用和弱引用 ... -
使用Spring实现读写分离( MySQL实现主从复制)
2018-05-17 11:46 572使用Spring实现读写分离( MySQL实现主从复制) ... -
工作流activiti
2018-04-18 15:52 466Activiti工作流教程 https://blog.cs ... -
java的动态代理机制详解
2017-12-22 15:54 443https://www.cnblogs.c ... -
OCR框架整理
2017-08-16 09:29 610泰比ABBYY OCR SDK开发包 Asp ... -
eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
2017-04-06 16:54 645发布工程后,启动tomcat出现如下内存溢出错误: java ... -
springMVC上传文件大小限制以及超过限制后的自定义处理
2017-04-01 08:12 1290http://blog.csdn.net/baidu_186 ... -
IntelliJ IDEA 2016注册方法和注册码
2017-03-30 13:52 2574IntelliJ IDEA号称当前Java开发效率最高的ID ... -
java使用wsimport生成服务代码时报错的解决办法
2017-01-18 11:27 1732今天遇到了WebService的问题:在使用jdk命令wsi ... -
OCR文字识别系统
2016-12-21 22:14 493慧视OCR文字识别系统 增值税专用发票扫描识别系统 ... -
Maven中央仓库无法更新jar包的解决办法
2016-12-09 00:44 1084删掉了*lastUpdated文件 然后到setti ... -
spring jar包下载地址
2015-09-23 17:31 668spring jar包下载地址:http://maven.sp ... -
JRex java webbrowser 爬虫ajax网页 源码
2015-01-08 16:37 993一般在浏览器中查看页面代码 是浏览器直接下载到的页面代码 在 ... -
程序员福利各大平台免费接口,非常适用
2014-12-03 10:03 936电商接口 京东获取单个商品价格接口: http: ... -
数据库建模工具:PowerDesigner与Rose详解教程
2009-12-08 12:38 1921一、 二者的出身 作为世界最著名的两大CASE工具, ... -
java制作图片的缩略图
2009-09-23 14:49 1689package com.mxo9.b2c.service.ad ... -
MD5、SHA加密实体类
2009-08-02 17:37 1230public class MD5Utility { ... -
des加密解密实体类
2009-08-02 17:21 1428/** * DES加密解密类. ... -
Windows客户端的JProfiler远程监控Linux上的Tomcat
2009-07-20 12:23 27961.测试环境 服务器:ubuntu8.04(内核版本 2.6. ... -
Jalopy在Eclipse下的使用
2009-07-13 17:47 1636Jalopy是一款代码美化工 ...
相关推荐
内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。
嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip
内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。
少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。
嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip
少儿编程scratch项目源代码文件案例素材-驾驶通关.zip
小区开放对周边道路通行能力影响的研究.pdf
内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。
少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip
内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。
基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf
嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip
Android系统开发_Linux内核配置_USB-HID设备模拟_通过root权限将Android设备转换为全功能USB键盘的项目实现_该项目需要内核支持configFS文件系统
C# WPF - LiveCharts Project
少儿编程scratch项目源代码文件案例素材-恐怖叉子 动画.zip
嵌入式八股文面试题库资料知识宝典-嵌⼊式⼯程师⾯试⾼频问题.zip