草庐IT

graphic-effects

全部标签

java - 用 Java Graphics.drawString 替换的充分理由?

有谁知道现有的代码可以让您在Java2D中绘制完全对齐的文本?例如,如果我说,drawString("sampletexthere",x,y,width),是否有一个现有的库可以计算出有多少文本适合宽度,做一些字符间距以使文本看起来不错,并自动进行基本的自动换行? 最佳答案 虽然这不是最优雅也不是最可靠的解决方案,但这里有一个方法将采用Font当前的Graphics对象并获取其FontMetrics为了找出绘制文本的位置,并在必要时移动到新行:publicvoiddrawString(Graphicsg,Strings,intx,i

java - 如何提高 Graphics2D 文本质量?

我有一个关于在条形码上打印附加信息的问题。我正在使用http://barbecue.sourceforge.net/创建我的条形码。创建条形码后,我想添加一些附加信息。目前我用以下方式做到这一点!例如:Graphics2Dg2d5=container4Barcode.createGraphics();g2d5.setBackground(Color.WHITE);g2d5.clearRect(0,33,200,200);g2d5.setColor(Color.BLACK);g2d5.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASIN

Java8 Effectively Final compile time error on non final variable

我正在尝试将java8forEach循环中的boolean变量更改为非最终的true。但我收到以下错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。如何解决这个错误?代码:booleanrequired=false;这是我在函数中创建的变量。现在当我试图改变它时:map.forEach((key,value)->{System.out.println("Key:"+key+"Value:"+value);required=true;});我收到错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。为什么会出现这个错误,如何解决? 最佳答案

java - 从另一个线程读取共享变量(Effective Java #66)

在EffectiveJava:第66条中,JoshuaBloch举了一个关于人生失败的例子://Broken!-HowlongwouldyouexpectthisprogramtorunclassStopThread{privatestaticbooleanstopRequested=false;publicstaticvoidmain(String[]args)throwsInterruptedException{ThreadbackgroundThread=newThread(newRunnable(){publicvoidrun(){inti=0;while(!stopReque

java - 如何在 Graphics 方法 drawImage() 中使用 ImageObserver

我尝试使用的方法是:drawImage(image,int,int,int,int,ImageObserver)方法这样我就可以缩放我的图像,在我看到的所有示例中,ImageObserver应该是这样的,但这似乎不起作用(即我看到的唯一方法是:drawImage(image,int,int,ImageObserver),不知道这是否有所作为)。这是我的主要类,即小程序:importjava.applet.*;importjava.awt.*;publicclassMainextendsAppletimplementsRunnable{privateThreadth;privateHit

java - Joshua Bloch 的 Effective Java 中的 Equals 方法

请看这个linkJoshuaBloch的EffectiveJava。在第二段中,作者说:Theclassisprivateorpackage-private,andyouarecertainthatitsequalsmethodwillneverbeinvoked.Arguably,theequalsmethodshouldbeoverriddenunderthesecircumstances,incaseitisaccidentallyinvoked:@Overridepublicbooleanequals(Objecto){thrownewAssertionError();//Me

java - 无效的 hibernate 警告? '@Access(AccessType.PROPERTY) on a field has no effect'

我有以下实体类用户:publicclassUserimplementsSerializable{@Column(length=10,name="user_type")@Access(AccessType.PROPERTY)privateStringuserTypeS;@TransientprivateUserTypeuserType;...publicvoidsetUserType(UserTypeuserType){this.userType=userType;this.userTypeS=this.userType.getType();}protectedvoidsetUserTy

java - 使用 Graphics2D 使用亚像素级精度绘制图像

我目前正在尝试像在视频游戏中一样以固定速率在屏幕上绘制图像。不幸的是,由于图像移动的速度,一些帧是相同的,因为图像还没有移动一个完整的像素。有没有办法向Graphics2D提供float值而不是int值来绘制图像?最初这是我所做的:BufferedImagesrcImage=sprite.getImage();PositionimagePosition=...;//Definedelsewhereg.drawImage(srcImage,(int)imagePosition.getX(),(int)imagePosition.getY());这当然是阈值,所以图片不会在像素之间移动,而

【Effective Objective-C 2.0】协议与分类

第23条:通过委托与数据源协议进行对象间通信在软件开发中,对象之间的通信是不可避免的。委托模式(DelegatePattern)是一种常用的实现对象间通信的方式,也被称为代理模式。委托模式的核心思想是定义一套接口,使得一个对象可以将部分职责委托给另一个对象。在iOS开发中,常常通过委托模式实现数据的传递和事件的通知。1.委托模式概述委托模式的主要步骤包括定义协议、声明委托属性、实现委托方法。需要注意的是,协议中的属性应该使用weak修饰符,以避免循环引用问题。在.m文件中遵循协议,实现委托方法。@protocolMyDelegate-(void)didReceiveData:(NSData*)

java - Graphics2D 转换结果与手动转换不匹配

我正在使用Java的Graphics2D在使用AffineTransform的组件上绘制来操纵我的绘图。Graphics2D为此提供了一种方法转换,它采用AffineTransform。有时我需要在不使用内置转换的情况下手动操作一个点。但是,当我尝试使用我给Graphics2D.transform的相同变换来变换一个点时,有时结果点是不一样的。下面的代码重现了这个问题(它是Scala代码,但我想你可以想象Java代码。):vartransformationMatrix=newAffineTransform()/**transformationMatrixismodifiedthroug