1.从本地读取图片文件,并判断格式是否附合要求。

FilenameFilter filter = [‘Image Files‘,‘*.bmp;*.jpg;*.gif;*.jpeg‘];

BinData binData = new BinData();

str extention, path, nameOfFile;

Container imageContainer ;

imageFilePathName = WinAPI::getOpenFileName(element.hWnd(),filter,‘‘, "@SYS53008", ‘‘,‘‘);

if (imageFilePathname && WinAPI::fileExists(imageFilePathName))

{

[path, nameOfFile, extention] = fileNameSplit(imageFilePathName);

if (extention == ‘.jpg‘)

{

binData.loadFile(imageFilePathName);

imageContainer = binData.getData();

}

else

{

throw error("@SYS89176");

}

}

2.将AX中的图片保存到本地文件夹

str path;

FilenameFilter filter = [‘Image Files‘,‘*.jpg‘];

CompanyImage companyImage;

Image image;

DialogBox dialogBox;

;

path = WinAPI::getSaveFileName(0,filter,‘‘,‘‘,‘‘,‘filename‘,0);

if(path)

{

image = new Image();

image.setData(companyImage.Image);

if(WinAPI::fileExists(path))

{

dialogBox = new DialogBox(DialogBoxType::YesNoBox,strfmt("@HPH243",path),‘‘,‘‘,DialogButton::Yes);

if(DialogButton::Yes == dialogBox.retval())

image.saveImage(path);

}

else

{

image.saveImage(path);

}

}

3.图片缩放显示在控件上。

image = new Image();

image.setData(imageContainer);

w = image.width()*sel/100;

h = image.height()*sel/100;

image.resize(w,h,InterpolationMode::InterpolationModeDefault);

Photo.image(image); //Photo为bitmap控件

4.图片的剪切,显示图片的控件窗口不能被其他窗口遮挡。

Container rect;

rect = WINAPI::getWindowRect(this.hWnd());//获取图片控件的屏幕坐标

int left,top;

left = conpeek(rect,1);

top = conpeek(rect,2);

image = new Image();

image.captureScreen(left,top,width,height);//根据坐标和大小进行剪切,该方法同样可以用来进行屏幕截图

5.导出图片到指定文件夹,适用于批量图片导出。

str path;

Image image;

str filename = "test.jpg";

image = new Image();

image.setData(imageContainer );

path = WinAPI::browseForPath(element.hWnd(),‘‘);

if(substr(path ,strlen(path)-1,1)!="\\")

path+="\\";//如果选择的桌面,则要加上\

path += filename;

image.saveImage(path);

附加: 获取用户选中的多条记录,以EmplTable为例:

for(emp=EmplTable_ds.getFirst(1) EmplTable_ds.getFirst(1):EmplTable_ds.cursor();emp;emp=EmplTable_ds.getNext())

{

//do something

}

Dynamics AX 中的图片处理

Dynamics AX 中的图片处理的更多相关文章

  1. Dynamics AX 中重点数据源方法

     数据源方法 描述   Active  当用户刚选中一行数据时执行该方法.若选中的是主表的数据,也用该方法来触发加载从表符合条件的数据.主要覆盖该方法来根据条件设置记录及其字段是否可见或是否可被编辑. ...

  2. Dynamics AX 2012 在BI分析中建立数据仓库的必要性

    AX系统已有的BI分析架构 对于AX 的BI分析架构,相信大家都了解,可以看Reinhard之前的译文[译]Dynamics AX 2012 R2 BI系列-分析的架构 . AX 的BI分析架构的优势 ...

  3. Dynamics 365新特性介绍:在视图中显示图片和提示

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复242或者20161230可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. Dynamics AX 2012 R2 SSRS报表在VS2010中预览没有数据

    今天,Reinhard 在VS中制作SSRS报表,预览的时候发现显示不出数据. 仔细检查了数据处理环节和临时表里的数据,都发现没有问题. 用同事的账号登陆同样的开发环境,发现他的账号可以在VS中预览到 ...

  5. Dynamics AX 2012 R2 在AIF服务契约中使用DateTime

    Reinhard在AIF中使用DateTime作为服务契约的参数,与DotNet程序进行交互时,总是因为时区的问题,导致DotNet提交的System.DateTime与AIF中接收的DateTime ...

  6. Dynamics AX 2012 的工业物联网解决方案

    Dynamics AX 2012 的工业物联网解决方案 物联网 物联网的概念在这两年非常火,包括近期很火的共享单车初创公司--摩拜单车,在产品中运用了Azure Iot物联网技术.但是,物联网并不是一 ...

  7. Dynamics AX 2012 R2 业务系列-销售业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...

  8. [译]Dynamics AX 2012 R2 BI系列-规划分析的注意事项

    https://msdn.microsoft.com/en-us/library/gg731898.aspx       在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在 ...

  9. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

随机推荐

  1. IntelliJ IDEA 打开项目红色

    项目目录红色主要是有版本控制所导致的,解决办法就是解除版本控制 点击File->Settings...->Version Control 项目会重新编译,项目目录红色会消失

  2. CUDA compiler driver nvcc 散点 part 2

    ● nvcc 编译流程图 ● sm 是向前兼容的,高的版本号是在低版本号的基础上添加了新功能得到的,同一 compute_XY 编译的 .cu 文件仅能向后 sm_ZW 的实 GPU 版本(Z > ...

  3. nginx功能扩展整理

    0.基本负载均衡配置 编辑/etc/nginx/nginx.conf,加入负载平衡配置: http { upstream tomcat { server localhost:8080; server ...

  4. win10 .net3.5的问题及解决方案

    近日有网友反映在windows10_64位系统电脑上安装Net framework3.5,操作时总失败,怎么办呢?小编下面就介绍win10 64位系统无法安装Net framework3.5的两种解决 ...

  5. Java 非递归实现 二叉树的前中后遍历以及层级遍历

    class MyBinaryTree<T> { BinaryNode<T> root; public MyBinaryTree() { root = new BinaryNod ...

  6. Java初学者应该注意的学习问题

    作为初学者,在刚开始学习的时候,一定会走很多弯路.但其实很多弯路是不必走的,会浪费很多时间,导致学习效率大打折扣.今天小编给大家讲述一下,作为一个Java初学者,在开始学习的时候应该注意的问题,应该从 ...

  7. CentOS7.0 采用压缩包 安装Nginx 1.7.4和添加Tomcat为系统服务 nginx结合tomcat

    CentOS7.0 采用压缩包 安装Nginx 1.7.4  一.安装准备首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc ...

  8. springboot 开启事务以及手动提交事务

    添加依赖,sprongboot 会默认开启事务管理 org.springframework.boot spring-boot-starter-jdbc 在需要的服务类里添加注解 @Autowired ...

  9. node note

    1.关于next() next()函数接受一个Error对象,在判断错误时,返回这个next()函数,并传入自定义的Error对象可以被向下捕捉,你也可以自定义统一捕捉错误Error的中间件,在app ...

  10. c++常见变量的极值

    #include "numeric_limits.hpp"#include <limits>#include <iostream> //////////// ...