本教程展示了如何在Android Java应用程序中使用LEADTOOLS SDK加载、显示和保存图像。
概述 | |
---|---|
总结 | 本教程介绍如何在Android应用程序的图像查看器中显示图像。 |
完成时间 | 30分钟 |
Android Studio项目 | 下载教程项目(4mb) |
平台 | Android (Java) |
IDE | Android工作室 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
来熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前在图像查看器中显示图像- Android Java教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需的参考资料取决于项目的目的。本项目需要以下内容. 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文件的完整列表,请参阅与您的应用程序包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具包函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS本地引用和设置许可证添加引用和设置License教程。
在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:text="从图库中选择图片"
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 = 0x0001;
私人RasterImageViewer mViewer;
私人RasterCodecs编解码器;
私人目的意图;
更新onCreate ()
函数如下所示。
@Override
受保护的无效onCreate(Bundle 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.d. . RasterImageViewer);
mViewer.setTouchInteractiveMode (新ImageViewerPanZoomInteractiveMode ());
编解码器=新RasterCodecs ();
意图=新意图();
}
添加以下函数以启用加载、显示和保存图像。
公共无效onSelectImage(查看v)
{
intent.setType (“图像/ *”);
intent.setAction (Intent.ACTION_GET_CONTENT);
startActivityForResult (Intent.createChooser(意图,“选择图片”), IMAGE_GALLERY);
}
公共无效onSaveImage(View v)
{
RasterImage image = mViewer.getImage();
文件文件=新文件(这.getFilesDir (),“input.png”);
字符串路径= file.getAbsolutePath();
如果(图片! =零)
{
编解码器。save(image, LeadStreamFactory.create(path), RasterImageFormat.PNG, 0);
Toast.makeText (这, path, Toast.LENGTH_LONG).show();
}
其他的
{
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 (这,例如. getmessage (), Toast.LENGTH_LONG).show();
}
}
}
}
新闻Shift + F10运行应用程序。
从图库中选择图像
载入和显示图像。按下保存图像
按钮保存图像。
本教程展示了如何加载、显示和保存图像。此外,还演示了如何使用RasterImageViewer
而且RasterCodecs
类。