Toolkit.getDefaultToolkit().getImage(...) 方法可接受 String 或者是 URL 参数,用以指定图像文件的路径。
如果图片路径是不变的,那么该方法返回的 Image 对象就会是最开始那一个,除非你重启了应用。
public static void main(String[] args){
//a.jpg 473*209 b.jpg 98*113
imgCache("D:\\dps\\demo\\a.jpg", "D:\\dps\\demo\\b.jpg");
}
public static void imgCache(final String srcImgFilePath,final String destImgFilePath){
Image img=null;
try{
img= Toolkit.getDefaultToolkit().getImage(srcImgFilePath);
//如果图片过大,可能会出现延迟,为了防止这种情况发生我们可以在图片完全被加载进来
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(img, 0);
mediaTracker.waitForID(0);
}catch(InterruptedException ex){
System.out.println("解析"+srcImgFilePath+" 图片出错,出错原因:"+ex.getMessage());
}
System.out.println("width:"+img.getWidth(null)+" height:"+img.getHeight(null));
//删除图片
File aImgFilePath=new File(srcImgFilePath);
if(aImgFilePath.exists()){
aImgFilePath.delete();
}
//重命名
File bImgFilePath=new File(destImgFilePath);
bImgFilePath.renameTo(aImgFilePath);
//读取b.jpg 图片
try{
img= Toolkit.getDefaultToolkit().getImage(srcImgFilePath);
//如果图片过大,可能会出现延迟,为了防止这种情况发生我们可以在图片完全被加载进来
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(img, 0);
mediaTracker.waitForID(0);
}catch(InterruptedException ex){
System.out.println("解析"+srcImgFilePath+" 图片出错,出错原因:"+ex.getMessage());
}
System.out.println("width:"+img.getWidth(null)+" height:"+img.getHeight(null));
}
解决办法:
查询jdkAPi,最后通过对返回的 Image 调用 flush 方法,可以手动丢弃以前加载的信息
img= Toolkit.getDefaultToolkit().getImage(srcImgFilePath);
img.flush();
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0067/3402/7c58933b-e1e0-399b-879c-dbe681080d0e-thumb.jpg)
- 大小: 24.8 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0067/3404/e9dd6577-ae36-3c84-9e5e-0d7d80128c36-thumb.jpg)
- 大小: 8.1 KB
分享到:
相关推荐
Microsoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackage Microsoft.MixedReality.Toolkit.Unity.Extensions.2.4.0. Microsoft.MixedReality.Toolkit.Unity.Tools.2.4.0.unitypackage Microsoft.Mixed...
Codejock.Xtreme.Toolkit.Pro.v15.3.1 源码,.sln的工程属性32位和64位已经全部修改为 VS2017工程属性。直接使用VS2017打开编译即可使用。同时里面包含了已编译好的debug和release的动态库和静态库如下: ToolkitPro...
System.Windows.Controls.DataVisualization.Toolkit.dll C#开发常用dll
Microsoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackage Microsoft.MixedReality.Toolkit.Unity.Extensions.2.4.0. Microsoft.MixedReality.Toolkit.Unity.Tools.2.4.0.unitypackage Microsoft.Mixed...
Microsoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackage Microsoft.MixedReality.Toolkit.Unity.Extensions.2.4.0. Microsoft.MixedReality.Toolkit.Unity.Tools.2.4.0.unitypackage Microsoft.Mixed...
Codejock.Xtreme.Toolkit.Pro.v15.3.1 源码,.sln的工程属性32位和64位已经全部修改为 VS2017工程属性。直接使用VS2017打开编译即可使用。同时里面包含了已编译好的debug和release的动态库和静态库如下: ToolkitPro...
Codejock.Xtreme.Toolkit.Pro.v15.0.1是一个强大的UI库,专为MFC(Microsoft Foundation Classes)框架扩展而设计。该库提供了一系列的工具包,旨在帮助开发者快速构建具有专业外观和功能丰富的应用程序。源码的提供...
《深入解析Silverlight Toolkit中的System.Windows.Controls.Theming.Toolkit.dll》 在Silverlight开发过程中,System.Windows.Controls.Theming.Toolkit.dll是一个至关重要的组件,它是Silverlight Toolkit的一...
Codejock.Xtreme.Toolkit.Pro.v15.2.1.Full.Source.Retail.Incl.Keymaker-ZWT 是一个针对Microsoft Foundation Class (MFC) 库的扩展工具包,由Codejock Software开发。这个版本15.2.1代表了该产品在发布时的最新...
标题中的"System.Windows.Controls.Input.Toolkit.dll"和"WPF Toolkit.dll"是两个关键组件,它们都是Windows Presentation Foundation (WPF) 应用程序开发中的重要工具。WPF是.NET Framework的一部分,用于构建桌面...
Microsoft.MixedReality.Toolkit.Unity.Foundation.2.3.0
MRTK基础开发工具包 Microsoft.MixedReality.Toolkit.Unity.Foundation.2.6.1
Codejock.Xtreme.Toolkit.Pro.v15.2.1
wpf扩展控件库,具体使用参照https://github.com/xceedsoftware/wpftoolkit
《深入理解System.Windows.Controls.Layout.Toolkit.dll与System.Windows.Controls.Toolkit.dll》 在.NET Framework的世界中,DLL(Dynamic Link Library)文件是共享代码库的关键组成部分,它们包含可由多个应用...
C#、WPF使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些WPF框架的各种功能和模块,以及如何使用WPF进行GUI...适用于初学者和有经验的开发者,能够帮助你快速上手WPF并掌握其高级特性。
WPFToolkit.dll文件,亲自测试可以使用,是wpf使用者很好的选择。
在压缩包中,"System.Windows.Controls.Layout.Toolkit.pdb"是程序数据库文件,它包含了关于dll中的类型、方法和变量的调试信息。当进行调试时,pdb文件能帮助开发者定位代码中的问题,了解代码执行的具体路径。而...
Codejock.Xtreme.Toolkit.Pro.v11.20.Full.Source-ZWT 密码生成器