• 关于

    画笔工具

    的搜索结果

问题

移植到 Direct3D 11:报错 

kun坤 2020-06-04 21:07:16 6 浏览量 回答数 1

回答

google有个插件超简单就能实现###### 关键在于你如果强压,整个图片就彻底变形了。 如果要剪裁,那这个判断咋判断?400*800变成200*200,800的部分要减去一半,减哪里?非人工目前仍然难以判断。 还有一个办法就是加黑边。400*800先等比例压缩到100*200,然后加黑边。补成200*200###### 图片服务器如果用的阿里的oss,阿里就提供了对图片的等比例缩放功能###### /** * scale image * * @param sbi image to scale * @param imageType type of image * @param dWidth width of destination image * @param dHeight height of destination image * @param fWidth x-factor for transformation / scaling * @param fHeight y-factor for transformation / scaling * @return scaled image */ public static BufferedImage scale(BufferedImage sbi, int imageType, int dWidth, int dHeight, double fWidth, double fHeight) { BufferedImage dbi = null; if(sbi != null) { dbi = new BufferedImage(dWidth, dHeight, imageType); Graphics2D g = dbi.createGraphics(); AffineTransform at = AffineTransform.getScaleInstance(fWidth, fHeight); g.drawRenderedImage(sbi, at); } return dbi; } 高度=200/原宽度*原高度###### 可以了解一下: https://github.com/liuyueyi/quick-media###### 要按比例缩放,首先你得知道比例,比例就是宽高比(高除以宽) BufferedImage bufferedImage = ImageIO.read(new File(input)); float imageScaler = (float) bufferedImage.getHeight() / (float) bufferedImage.getWidth(); 知道宽高比后,将新宽度乘以比例,就得出新高度了。 int newWidth = 200; float newHeight = newWidth * imageScaler; 最后调用BufferedImage的getScaledInstance方法就可以得到一个缩放的图片实例 BufferedImage sacledImage = bufferedImage.getScaledInstance(newWidth, (int) newHeight, java.awt.Image.SCALE_SMOOTH); 如果对你有用,请采纳###### 从网上找到两张尺寸不同的影像文档;北京火车站(1090 x 697 pixels) 和 北京北海公园(447 x 669 pixels)。使用构造方法,将数据下载成 Image 数组 img。MediaTracker 类是一个跟踪多种媒体对象状态的实用工具类,目前仅支持图像。最终,将两幅图片按原来的宽高比,都画成 宽 400 pixels 的相片。 输出和代码如下: import java.net.*; import java.awt.*; import javax.swing.*; import java.awt.image.ImageObserver; public class Test1 extends JFrame { final int N=2; Image img[] = new Image[N]; String data[]={ "http://img.mp.itc.cn/upload/20161115/d15c330e762142889b6c7b936b9a167d_th.jpeg", //北京火车站 "http://img.pconline.com.cn/images/upload/upc/tx/itbbs/1510/11/c30/13809065_1444552352198_mthumb.jpg"}; public Test1(){ super("将2个不同尺寸的影像都画成 400 pixels 宽"); setVisible(true); setSize(820,620); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MediaTracker mt= new MediaTracker(this); img= new Image[N]; try{ //下载影像数据 for (int i=0; i<N;i++){ img[i]=Toolkit.getDefaultToolkit().getImage(new URL(data[i])); mt.addImage(img[i],i); } }catch(MalformedURLException e){}; try{ //等待影像数据下载完毕 mt.waitForAll(); }catch(InterruptedException e){} } /* 参数说明: * g 画笔,i for循环体的控制变量, * width 画成的影像的统一宽度,img 影像对象数组, * ob 影像观察者。 */ private void scaledDraw(Graphics g, int i, int width, Image[] img, ImageObserver ob){ double ratio = (double)img[i].getHeight(ob)/img[i].getWidth(ob); g.drawImage(img[i], i*width,0,width, (int)(width*ratio),ob); } public void paint(Graphics g){ super.paint(g); for (int i=0;i<N;i++) scaledDraw(g,i,400, img, this); } public static void main(String args[]){ new Test1(); } } 将代码稍加改动,就可将网上 6 幅图片按各自的宽高比,一律画成 宽 200 pixels 的相片。注意:JFrame 的标题栏大约占据 35 像素的高度。 import java.net.*; import java.awt.*; import javax.swing.*; import java.awt.image.ImageObserver; public class Test extends JFrame { final int N=6; Image img[] = new Image[N]; String data[]={ "http://img1.cache.netease.com/catchpic/D/DD/DD0FBE011074E8416B047F9872ED0510.jpg", "http://i2.sinaimg.cn/ent/v/p/2009-07-31/U2519P28T3D2632036F346DT20090731003121.jpg", "http://att2.citysbs.com/hangzhou/sns01/forum/2011/08/02-15/middle_20110802_be197d4095c29cb8b3b0zAgTlytfPTWV.jpg", "http://www.cnnb.com.cn/pic/0/00/91/02/910211_876589.jpg", "http://photocdn.sohu.com/20120627/Img346622996.jpg", "http://www.xgsy188.com/uploadfile/201311521253148455.jpg"}; public Test(){ super("将6个不同尺寸的宋丹丹影像都画成 200 pixels 宽"); setVisible(true); setSize(1210,350); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MediaTracker mt= new MediaTracker(this); img= new Image[N]; try{ //下载影像数据 for (int i=0; i<N;i++){ img[i]=Toolkit.getDefaultToolkit().getImage(new URL(data[i])); mt.addImage(img[i],i); } }catch(MalformedURLException e){}; try{ //等待影像数据下载完毕 mt.waitForAll(); }catch(InterruptedException e){} } /* 参数说明: * g 画笔,i for循环体的控制变量, * width 画成的影像的统一宽度,img 影像对象数组, * ob 影像观察者。 */ private void scaledDraw(Graphics g, int i, int width, Image[] img, ImageObserver ob){ double ratio = (double)img[i].getHeight(ob)/img[i].getWidth(ob); // 注意:JFrame 的标题栏大约占据 35 像素的高度 g.drawImage(img[i], i*width,35,width, (int)(width*ratio),ob); } public void paint(Graphics g){ super.paint(g); for (int i=0;i<N;i++) scaledDraw(g,i,200, img, this); } public static void main(String args[]){ new Test(); } }  ######看看thumbnailator吧,一行代码搞定尺寸等比例压缩。

爱吃鱼的程序员 2020-06-04 16:48:30 0 浏览量 回答数 0

回答

工作流:   根据 WfMC 的定义,工作流(Workflow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。   工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地实现经营目标提供了先进的手段。   1993年,国际工作流管理联盟(Workflow Management Coalition,WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。   一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。   一、工作流管理:   通常,工作流管理系统指运行在一个或多个称为工作流机的软件上的用于定义、实现和管理工作流运行的一套软件系统,它和工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。在这里需要强调指出的是工作流管理系统不是企业的业务系统。在很大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑环境,非常类似于在单个计算机上的操作系统。只不过工作流管理系统支撑的范围比较大、环境比较复杂而已,所以也有人称工作流管理系统是业务操作系统(BOS - Business Operating System)。在工作流管理系统的支撑下,通过集成具体的业务应用软件和操作人员的界面操作,才能够良好地完成对企业经营过程运行的支持。所以,工作流管理系统在一个企业或部门的经营过程中的应用过程是一个业务应用软件系统的集成与实施过程。   二、工作流管理系统:   工作流管理系统可以用来定义与执行不同覆盖范围(单个工作者、部门、全企业、企业间)、不同时间跨度(分钟、小时、天、月)的经营过程。这完全取决于实际应用背景的需求。按照经营过程以及组成活动的复杂程度的不同,工作流管理系统可以采取许多种实施方式,在不同的实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别。工作流管理系统的实际运行环境可以是在一个工作组内部或者在全企业的所有业务部门。   三、业务过程:   业务过程(business process)就是活动的集合,这些活动均关联于特定的托付事项(commitment),为过程的产出增值。相对于“工作流”,业务过程是一个更一般化的统称,而工作流这个词,则已经不能仅从字面含义或原理上去理解,它已经被赋予了更深一层的特定含义——专指基于信息技术规划、运作、管理的业务过程。   四、自动与协调:   “自动”(automate)是工作流的一个特征,但这主要是指它自动进行的特征,而不是说没有人的参与。工作流实际上是一个人-电脑协调的混合过程,在一个实际的工作流中,通常总有些步骤是人完成的。协调是工作流管理的一个目标或者特征,这包括了人与人、人与电脑,电脑(软件)之间等多种层面的含义。   五、监察与控制:   监察(Monitoring)与控制(Contorl)是工作流系统的重要功能与特征。这不仅包括对正在发生的业务过程(工作流),还包括它的定义或改变(比如BPR的过程)。这是工作流系统带给我们的明显好处之一。   六、标准化:   作流的概念被明确提出并得到重视的同时,人们就认识到了“标准化”在其中的重要性,有关工作流的标准开发和推广,基本是与“工作流”的开发和推广同步进行的。在这方面目前的权威性机构,是“工作流管理联盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已拥有 130 余个成员,成员包括工作流产品的供应者、应用者,有关大学和研究机构和个人,是一个国际性的非赢利组织。在最近的投资成员(Funding members)清单中,可以看到诸如 Baan, HP, IBM, Microsoft, Oracle, Peplesoft, SAP AG, Xerox 等机构。   七、工作流与重规划:   从逻辑上,对工作流的关注和研究可以看作是对业务过程重规划(BPR)的一种深化。BPR的观点,要求我们将眼光投向实际业务进行的过程,但这个过程应当是什么样的,怎样分析、构造?工作流就是一个具体的、操作性的答案,它可以令我们从神秘的、难以预测和控制的“头脑风暴式”的“艺术的”业务过程创造,变成解析的、技术的、可控制和预测的工程化过程,如此,才真正体现出 re-engineering 中 engineering 的意义。   工作流与 BPR 的概念,已经被几乎所有的研究者联系在一起研究和应用。在这个领域有一个非常活跃的组织,即国际工作流与重规划协会( Workflow And Reengineering International Association, WARIA)。   八、工作流与企业工程:   无论从理论、方法上,还是对象、内容上,我们都有理由将“工作流”看作是企业工程的一部分。实际上,已有的关于工作流体系的描述,本身就是一个通用的业务模型框架。仅仅囿于工作流是不够的,必须对整个体系的目标及所有相关要素综合考虑——这正是企业工程。   九、工作流与IT应用体系:   与以往已经被采用的企业 IT 应用体系,例如 MRPII 或 ERP 相比,WFMS是一个相当重要的里程碑。(ERP的概念并不确定,我这里仅指其基本或较早期的含义而言)。从用户的角度,WFMS带来(或将要带来)的变化是极其强烈的,甚至可以形容为一种用户“梦想”的实现。   在一些老的“模块化”的产品中,系统的设计是通常是基于任务分割的,作业项目之间是分裂的。面向对象的技术,并不能直接解决这个的问题,相反,往往使系统变得更加混乱和琐碎。从操作上,典型地,我们必须不断地在层次结构的功能表(比如下拉菜单)或对象之间“进进退退”,或者在“神出鬼没”的对象以及相关菜单中捉迷藏。   工作流管理系统是一个真正的“人-机”系统,用户是系统中的基本角色,是直接的任务分派对象,他或她可以直接看到电脑针对自己列出的“任务清单”,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样,用户的任务分派和任务的完成状态,可以被最大程度地电脑化和受到控制。   现在的典型工作流产品是客户-服务软件。而日益增长的重要途径是通过万维网界面,它可以令客户或远程的职员更好地参与。工作流的定义经常是借助于图形化工具,依照业务过程实例的情况定义相应工作的安排   OA(办公自动化): 引自肖淑男 2001-2-20   通常,OA 就是办公自动化,英文Office Automation的缩写。通过流程或特定环节与日常事务联系在一起,使公文在流转、审批、发布等方面提高效率,实现办公管理规范化和信息规范化,降低企业运行成本的一套系统的统称。   多年来,OA尚无一个确切的定义,人们对OA的看法和理解各有不同。笔者认为:OA本身就不是一个有确定界定的概念,它是一个过程、一种境界。它随技术的发展而发展,随人们办公方式和习惯以及管理思想的变化而变化。在技术发展过程中的每一个阶段,人们给OA赋予了不同的内容和新的想象,技术与管理的进步给OA打下了每一步发展的历史烙印。同时,不同行业、不同层次的人对OA的看法和理解也各有不同。也许正是OA这种变化和发展的特点使之成为30多年来常新不衰的话题。   现在有一种较普遍的偏见:认为OA仅仅是诸如公文流转、收发文管理、档案管理、会议安排、文献检索、电子表格、电子邮件等等这些非结构化数据的处理和交换过程,面向的用户群也只是机关办公室或企业的职能部门、文秘部门。其实,今天看来,OA应有更丰富的内容和层面,更广泛的用户群。以下是笔者对OA在功能上以及所涉及的技术范畴的肤浅理解,愿与同行商榷。   功能方面:广义面言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。它面向不同层次的使用者,便有不同的功能表现:   对于企业高层领导而言,OA是决策支持系统(DSS)。OA运用科学的数学模型,结合企业内部/外部的信息为条件,为企业领导提供决策参考和依据;   对于中层管理者而言:OA是信息管理系统(IMS),OA利用业务各环节提供的基础“数据”,提炼出有用的管理“信息”,把握业务进程,降低经营风险,提高经营效率;   对于普通员工而言:OA是事务/业务处理系统。OA为办公室人员提供良好的办公手段和环境,使之准确、高效,愉快地工作。   技术范畴:OA是计算机技术在办公业务中的合理应用。计算机技术是OA的前提。如果脱离计算机技术面阔谈OA,无异于痴人说梦。没有计算机技术,OA便成无源之水、无本之木。计算机对信息的存储与处理能力极大地改变了人们的办公方式,提高了工作效率。如:要建立决策支持系统,则需要数据仓库 、OLAP等技术;要建立信息管理系统,则要有数据库、程序设计语言等技术;要建立事务/业务处理系统,则离不开数据库、设计良好的人机界面和工作流控制、OLTP等技术。   OA是利用通信技术来实现人与机器、机器与机器及人与人的交流。通信技术是OA的基础。现代办公室不再是孤军奋战,而是一个团队的协同工作,团队中成员之间的协调、合作离不开通信技术;现代办公室也不再是闭门造车,企业需要与外界广泛的信息交流,这更离不开通信技术。没有通信技术的支持,OA便成空中楼阁。   OA是科学的管理思想在先进的技术手段下的物化。科学的管理思想是实现OA的核心。计算机技术和通信技术仅仅是为实现OA打下了基础,提供了可能。要真正实现OA,还需物化人类思维中科学管理的内容。正如仅有优质的画笔、画板、颜料而没有达.芬奇,就不会有蒙娜尼莎的微笑一样。不体现人类管理智慧,就不会有真正的OA,如果有,也只是技术的堆砌和摆设。   由此而知,OA是计算机技术、通信技术与科学的管理思想完美结合的一种境界和理想。我们一直在为实现OA而努力,但我们的成果仅仅是在某些环节、某些方面、部分地实现了OA的功能,与真正的OA尚有差距,差距的根本在于应用系统对管理思想的实现方面。 答案来源于网络

养狐狸的猫 2019-12-02 03:00:25 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站