本教程展示如何加载,显示和保存图像在一个Android的Java应用程序中使用LEADTOOLS SDK。
概述 | |
---|---|
总结 | 本教程介绍了如何显示图像在Android应用程序的一个图像浏览器。 |
完成时间 | 30分钟 |
Android工作室项目 | 下载教程项目(4 MB) |
平台 | Android (Java) |
IDE | Android工作室 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
|
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前显示图像的图像查看器——Android Java教程。
从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。这个项目需要以下. jar
和所以
文件:
的. jar
文件可以发现:< INSTALL_DIR > \ Bin \ Java
Leadtools.jar
Leadtools.codecs.jar
Leadtools.controls.android.jar
Leadtools.caching.jar
Leadtools.converters.android.jar
的所以
文件可以发现:< INSTALL_DIR > \ Bin \ Android
libleadtools.so
libleadtools.codecs.so
libleadtools.codecs.bmp.so
libleadtools.codecs.cmp.so
libleadtools.codecs.fax.so
libleadtools.codecs.png.so
libleadtools.codecs.tif.so
对于一个完整的列表的应用程序所需的DLL文件,请参考文件包含在您的应用程序。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS本地引用和设置许可中会详细介绍添加引用和设置一个许可证教程。
在Project Explorer窗口,打开activity_main.xml
文件中发现的应用程序/ src / main / res /布局
目录中。当前代码替换为下面的XML。
<LinearLayout xmlns: android = " http://schemas.android.com/apk/res/android "
android: layout_width = " match_parent "
android: layout_height = " match_parent "
android:取向=“垂直”
android: weightSum = " 1.0 "
android:背景= " @android:颜色/黑”>
<按钮
android: layout_width = " wrap_content "
android: layout_height = " wrap_content "
android:文本= "选择画廊”的形象
android: onClick = " onSelectImage " />
<leadtools.controls.RasterImageViewer
android: id =“@ + id / rasterimageviewer”
android: layout_width = " match_parent "
android: layout_height = " 0 dp”
android: layout_weight = " .96点"
android:背景=“@android:颜色/白色/>
<按钮
android: id =“@ + id /按钮”
android: layout_width = " wrap_content "
android: layout_height = " wrap_content "
android:文本=“保存图片”
android: onClick = " onSaveImage " />
<LinearLayout />
导航到MainActivity.java
并添加以下导入语句之前MainActivity
类。
进口android.content.Context;
进口android.content.Intent;
进口android.net.Uri;
进口android.view.View;
进口leadtools.LeadStreamFactory;
进口leadtools.RasterImage;
进口leadtools.RasterImageFormat;
进口leadtools.ILeadStream;
进口leadtools.codecs.RasterCodecs;
进口leadtools.controls.RasterImageViewer;
进口leadtools.controls.ImageViewerPanZoomInteractiveMode;
进口java.io.File;
添加以下成员变量。
私人静态最后intIMAGE_GALLERY = 0 x0001;
私人RasterImageViewer mViewer;
私人RasterCodecs编解码器;
私人目的意图;
更新onCreate ()
函数如下所示。
@Override
受保护的无效onCreate(包savedInstanceState) {
超级.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
/ /加载LEADTOOLS本地库
试一试{
Platform.setLibPath (sharedLibsPath);
Platform.loadLibrary (LTLibrary.LEADTOOLS);
Platform.loadLibrary (LTLibrary.CODECS);
}
抓(异常交货){
Log.d(标签,“失败加载LEADTOOLS本地库”);
}
mViewer = (RasterImageViewer) findViewById (R.id.rasterimageviewer);
mViewer.setTouchInteractiveMode (新ImageViewerPanZoomInteractiveMode ());
编解码器=新RasterCodecs ();
意图=新意图();
}
添加以下功能启用加载、显示和保存图像。
公共无效onSelectImage(查看v)
{
intent.setType (“图像/ *”);
intent.setAction (Intent.ACTION_GET_CONTENT);
startActivityForResult (Intent.createChooser(意图,“选择图片”),IMAGE_GALLERY);
}
公共无效onSaveImage(查看v)
{
RasterImage图像= mViewer.getImage ();
文件文件=新文件(这.getFilesDir (),“input.png”);
字符串路径= file.getAbsolutePath ();
如果(图片! =零)
{
编解码器。保存(形象,LeadStreamFactory.create(路径),RasterImageFormat。PNG, 0);
Toast.makeText (这、路径、Toast.LENGTH_LONG),告诉();
}
其他的
{
Toast.makeText (这,“没有加载图像”Toast.LENGTH_LONG),告诉();
}
}
@Override
受保护的无效onActivityResult (intrequestCode,intresultCode,意图数据)
{
如果(resultCode = = RESULT_OK)
{
如果(requestCode = = IMAGE_GALLERY)
{
Uri imageUri = data.getData ();
试一试
{
ILeadStream流= LeadStreamFactory.create (getContentResolver () .openInputStream (imageUri),真正的);
RasterImage图像= codecs.load(流);
mViewer.setImage(图片);
}
抓(异常交货)
{
Toast.makeText (这Toast.LENGTH_LONG ex.getMessage()),告诉();
}
}
}
}
新闻Shift + F10运行该应用程序。
从画廊选择图像
加载和显示一个图像。按下保存图像
按钮保存图像。
本教程展示了如何加载,显示和保存图像。此外,它展示了如何使用RasterImageViewer
和RasterCodecs
类。