
Callouts ในรูปภาพจะเน้นรายละเอียดสำคัญที่ทำให้ภาพชัดเจนและน่าสนใจมากขึ้น ไม่ว่าจะเป็นการระบุส่วนของไดอะแกรมหรือการเน้นส่วนสำคัญของกราฟิก การเพิ่ม callouts จะช่วยเสริมความชัดเจน ทำให้คุณสามารถดึงดูดความสนใจไปยังจุดสำคัญในรูปภาพได้อย่างง่ายดาย ในบทความนี้ คุณจะได้เรียนรู้วิธีเพิ่ม callouts รูปภาพใน Java การเพิ่ม callouts ด้วยการเขียนโปรแกรมเป็นเครื่องมือที่ทรงพลังในการเพิ่มความชัดเจนของภาพและการทำงานอัตโนมัติ
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
Java API เพื่อเพิ่ม Callouts รูปภาพ
Aspose.Drawing สำหรับ Java เป็นไลบรารีที่ทรงพลังสำหรับการเพิ่ม callouts รูปภาพด้วยการเขียนโปรแกรม มันช่วยให้คุณสามารถสร้างและแก้ไขกราฟิกได้อย่างง่ายดาย Aspose.Drawing สำหรับ Java ช่วยให้คุณสามารถวาดรูปร่าง เส้น และข้อความได้โดยตรงบนรูปภาพ ลองมาดูวิธีใช้ไลบรารีนี้เพื่อเพิ่ม callouts รูปภาพในแอปพลิเคชัน Java ของคุณอย่างมีประสิทธิภาพ
โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven
เพิ่ม Callouts ให้รูปภาพใน Java
โปรดปฏิบัติตามขั้นตอนง่าย ๆ เหล่านี้เพื่อเพิ่ม callouts ในรูปภาพด้วยการเขียนโปรแกรม:
- โหลดรูปภาพโดยใช้เมธอด Image.fromFile()
- สร้างวัตถุ Graphics โดยใช้เมธอด fromImage()
- เริ่มต้นวัตถุคลาส Pen ด้วยสีและขนาดที่ต้องการเพื่อวาด callouts
- กำหนดตำแหน่งสำหรับองค์ประกอบ callout ด้วยสีและขนาดที่กำหนดไว้
- ใช้เมธอด drawString() เพื่อเขียนข้อความ
- บันทึกรูปภาพที่ได้โดยใช้เมธอด save()
- ตัวอย่างโค้ดด้านล่างแสดงให้เห็น วิธีการเพิ่ม callouts ให้รูปภาพใน Java
import com.aspose.drawing.Color; | |
import com.aspose.drawing.Font; | |
import com.aspose.drawing.FontStyle; | |
import com.aspose.drawing.Graphics; | |
import com.aspose.drawing.GraphicsUnit; | |
import com.aspose.drawing.Image; | |
import com.aspose.drawing.Pen; | |
import com.aspose.drawing.PointF; | |
import com.aspose.drawing.RectangleF; | |
import com.aspose.drawing.SizeF; | |
import com.aspose.drawing.SolidBrush; | |
import com.aspose.drawing.text.TextRenderingHint; |
public static void main(String[] args) { | |
// Load an image | |
Image image = Image.fromFile("gears.png"); | |
Graphics graphics = Graphics.fromImage(image); | |
graphics.setTextRenderingHint(TextRenderingHint.AntiAliasGridFit); | |
graphics.setPageUnit(GraphicsUnit.Pixel); | |
drawCallOut(graphics, new PointF(107, 55), new PointF(179, 5), 74, "mm"); | |
drawCallOut(graphics, new PointF(111, 146), new PointF(29, 180), 28, "mm"); | |
image.save("gears_callout.jpg"); | |
} | |
private static void drawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, String unit) | |
{ | |
Pen pen = new Pen(Color.getRed(), 1); | |
Font font = new Font("Arial", 10, FontStyle.Bold); | |
String outputValue = value + " " + unit; | |
SizeF textSize = graphic.measureString(outputValue, font); | |
int diameterSymbolSize = 12; | |
int spaceSize = 3; | |
textSize.setWidth(textSize.getWidth() + diameterSymbolSize + spaceSize); | |
float callOutMiddleX = endAnchor.getX() > startAnchor.getX() ? endAnchor.getX() - textSize.getWidth() : endAnchor.getX() + textSize.getWidth(); | |
float callOutMiddleY = endAnchor.getY() > startAnchor.getY() ? endAnchor.getY() - textSize.getHeight() : endAnchor.getY() + textSize.getHeight(); | |
graphic.drawLine(pen, startAnchor.getX(), startAnchor.getY(), callOutMiddleX, callOutMiddleY); | |
float textAnchorX = Math.min(callOutMiddleX, endAnchor.getX()); | |
float textAnchorY = callOutMiddleY; | |
graphic.drawLine(pen, callOutMiddleX, callOutMiddleY, | |
textAnchorX == callOutMiddleX ? textAnchorX + textSize.getWidth() : textAnchorX, | |
callOutMiddleY); | |
graphic.drawEllipse(pen, new RectangleF((int)textAnchorX + spaceSize, | |
(int)(textAnchorY - textSize.getHeight()) + spaceSize, 10, 10)); | |
graphic.drawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1, | |
(int)textAnchorX + diameterSymbolSize + 2, | |
(int)textAnchorY - diameterSymbolSize - 2); | |
SolidBrush brush = new SolidBrush(Color.getBlue()); | |
graphic.drawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize, | |
(int)(textAnchorY - textSize.getHeight())); | |
} |

เพิ่ม Callouts ให้รูปภาพใน Java
Callouts รูปภาพ – ทรัพยากรฟรี
สำรวจคุณสมบัติต่าง ๆ ของไลบรารีนอกเหนือจากการเพิ่ม callouts ให้ภาพถ่ายและรูปภาพโดยใช้ทรัพยากรด้านล่าง:
รับใบอนุญาตชั่วคราวฟรี เพื่อสัมผัสกับพลังเต็มรูปแบบของ Aspose.Drawing สำหรับ Java โดยไม่มีข้อจำกัด ช่วยให้คุณสามารถประเมินคุณสมบัติและความสามารถของไลบรารีก่อนที่จะตัดสินใจซื้อ
บทสรุป
ในโพสต์นี้ เราได้เรียนรู้ วิธีเพิ่ม callouts รูปภาพใน Java การเพิ่ม callouts รูปภาพจะช่วยเพิ่มการแสดงผลของคุณด้วยการเน้นรายละเอียดที่สำคัญ ปฏิบัติตามขั้นตอนที่ระบุและใช้ตัวอย่างโค้ดที่ให้ไว้เพื่อดึงความสนใจไปยังองค์ประกอบสำคัญในรูปภาพของคุณอย่างง่ายดาย หากมีความคลุมเครือใด ๆ โปรดอย่าลังเลที่จะติดต่อเราบน ฟอรัมสนับสนุนฟรีของเรา