تعد صور البت ماب جزءًا أساسيًا من الرسوميات الحديثة. يتم استخدامها على المواقع الإلكترونية، والأجهزة المحمولة، وتطبيقات سطح المكتب. تنسيقات مثل BMP، GIF، PNG، و JPEG كلها تستند إلى بت ماب. في هذه المقالة، سوف تتعلم كيفية إنشاء، تحميل، ملء، ورسم بت مابس في جافا.

Java Image Drawing SDK للعمل مع الصور النقطية

في هذه المقالة، سوف نستخدم Aspose.Drawing for Java لإنشاء ورسم على صور نقطية في جافا. إنها واجهة برمجة تطبيقات رسومية ثنائية الأبعاد تدعم رسم الأشكال والنصوص والصور عبر المنصات. يمكنك تحميل وحفظ تنسيقات متنوعة بسهولة.

يمكنك تنزيل المكتبة من الإصدارات وإضافة ملف JAR إلى مشروعك أو تثبيتها عبر Maven.

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-drawing</artifactId>
  <version>25.6</version> <!-- Replace with latest version -->
</dependency>

1. إنشاء صورة جديدة بتنسيق Bitmap في Java

لإنشاء صورة نقطية من الصفر، اتبع الخطوات أدناه:

  1. إنشاء bitmap جديد بعرض وارتفاع محددين.
  2. أنشئ كائن Graphics من الصورة النقطية.
  3. قم بتهيئة كائن من فئة Pen بسمك ولون محددين.
  4. ارسم بيضا على bitmap باستخدام القلم.
  5. احفظ الصورة النقطية كملف صورة PNG.

العينة التالية من الكود توضح كيفية إنشاء صورة نقطية جديدة في جافا.

// إنشاء صورة نقطية جديدة بعرض وارتفاع 800 بكسل
Bitmap bitmap = new Bitmap(800, 800);

// إنشاء كائن رسوميات من صورة البت لتمكين الرسم
Graphics graphics = Graphics.fromImage(bitmap);

// تهيئة قلم أحمر بسمك 5 بكسل
Pen pen = new Pen(Color.getRed(), 5);

// ارسم Ellipse باستخدام القلم بدءًا من (0، 0) بعرض وارتفاع 700 بكسل
graphics.drawEllipse(pen, 0, 0, 700, 700);

// احفظ bitmap النهائي كملف صورة PNG
bitmap.save("output.png");
أنشئ رسمًا جديدًا في جافا

إنشاء صورة نقطية جديدة في جافا

2. إنشاء صورة بت ماب من دفق الذاكرة

لإنشاء صورة نقطية من تدفق الذاكرة، اتبع الخطوات أدناه:

  1. افتح تدفق إدخال ملف للصورة الموجودة.
  2. قم بإنشاء صورة نقطية من دفق الإدخال.
  3. احفظ الصورة النقطية في ملف صورة جديد.

توضح عينة الكود التالية كيفية إنشاء صورة نقطية باستخدام تدفق الإدخال في جافا.

// فتح دفق إدخال ملف لقراءة الصورة الموجودة
InputStream stream = new FileInputStream("input.png");

// قم بإنشاء صورة نقطية من تدفق الإدخال
Bitmap bitmap = new Bitmap(stream);

// احفظ الصورة النقطية كملف PNG جديد
bitmap.save("output.png", ImageFormat.getPng().d());

3. حفظ صورة بتنسيق Bitmap إلى ملف

يمكنك حفظ صورة بتنسيق bitmap إلى ملف بتنسيقات متعددة مدعومة. فقط حدد مسار الملف وتنسيق الصورة المطلوب عند استدعاء طريقة save(). يتيح لك ذلك تصدير الصورة بتنسيق PNG، JPEG، BMP، GIF، والمزيد.

يمكنك حفظ صور البت إلى تنسيقات مختلفة عن طريق تغيير تنسيق الصورة:

  • احفظ صورة Bitmap كملف BMP
bitmap.save("output.bmp", ImageFormat.getBmp().d());
  • احفظ صورة Bitmap كملف PNG
bitmap.save("output.png", ImageFormat.getPng().d());
  • احفظ صورة Bitmap كملف JPG
bitmap.save("output.jpg", ImageFormat.getJpeg().d());
  • احفظ صورة Bitmap كملف GIF
bitmap.save("output.gif", ImageFormat.getGif().d());

4. رسم الأشكال على صورة نقطية

يمكنك رسم مجموعة متنوعة من الأشكال على صورة نقطية باستخدام فئة Graphics المقدمة من Aspose.Drawing for Java. تتيح لك إنشاء رسومات مخصصة وتمنحك السيطرة الكاملة على الخطوط، والمنحنيات، والمستطيلات، والدوائر، والمزيد.

تظهر عينة الكود التالية كيفية رسم الأشكال على صورة نقطية (bitmap) في جافا.

// قم بإنشاء صورة نقطية جديدة بعرض وارتفاع 500 بكسل
Bitmap bitmap = new Bitmap(500, 500);

// إنشاء كائن رسومات للرسم على بت ماب
Graphics graphics = Graphics.fromImage(bitmap);

// تهيئة قلم أزرق بسمك 2 بكسل
Pen pen = new Pen(Color.getBlue(), 2);

// ارسم مستطيلاً يبدأ عند (10، 10) بعرض 100 وارتفاع 50
graphics.drawRectangle(pen, 10, 10, 100, 50);

// ارسم بيضة بدءًا من (10، 130) بعرض 280 وارتفاع 280
graphics.drawEllipse(pen, 10, 130, 280, 280);

// احفظ الصورة النهائية بتنسيق PNG
bitmap.save("draw_shapes.png");
ارسم أشكالاً على صورة نقطية في جافا

ارسم أشكالًا على بت ماب في جافا

يمكنك رسم أشكال مختلفة على صورة نقطية باستخدام طرق الرسم المدمجة المقدمة من فئة Graphics في Aspose.Drawing for Java. فيما يلي أنواع الأشكال المدعومة والطرق المقابلة:

  • القوس: استخدم طريقة drawArc() لرسم قوس.
  • Bezier Curve: استخدم طريقة drawBezier() لرسم منحنى بيزير واحد.
  • منحنيات بيزير متعددة: استخدم طريقة drawBeziers() لرسم سلسلة من المنحنيات بيزير.
  • المنحنى: استخدم طريقة drawCurve() لإنشاء شكل منحني سلس.
  • المسار المغلق: استخدم طريقة drawClosedCurve() لرسم منحنى مغلق.
  • Ellipse: استخدم طريقة drawEllipse() لرسم شكل بيضاوي.
  • استخدم طريقة drawLine() لرسم خط مستقيم.
  • عدة خطوط: استخدم طريقة drawLines() لرسم سلسلة من الخطوط المتصلة.
  • المسار: استخدم طريقة drawPath() لرسم أشكال معقدة باستخدام GraphicsPath.
  • فطيرة: استخدم طريقة drawPie() لرسم شكل شريحة فطيرة.
  • متعدد الأضلاع: استخدم طريقة drawPolygon() لإنشاء مضلع عن طريق ربط النقاط.
  • المستطيل: استخدم طريقة drawRectangle() لرسم مستطيل.
  • مستطيلات متعددة: استخدم طريقة drawRectangles() لرسم عدة مستطيلات في آن واحد.

بالإضافة إلى الأشكال، يمكنك أيضًا رسم الصور على بت ماب:

  • رمز: استخدم طريقة drawIcon() لرسم رمز داخل مستطيل محدد.
  • صورة: استخدم طريقة drawImage() لرسم صورة أخرى على خريطة البت.

تجعل هذه الطرق للرسم من السهل إنشاء رسومات مخصصة، أو مخططات، أو صور مشروحة برمجياً.

5. رسم النص على صورة بتماطاط

لرسم نص على صورة نقطية من خلال اتباع الخطوات أدناه:

  1. إنشاء صورة نقطية جديدة بعرض وارتفاع محددين.
  2. قم بإنشاء كائن رسومي من الصورة النقطية.
  3. امسح خريطة البتات بلون خلفية رمادي فاتح.
  4. حدد خطًا بالاسم والحجم المرغوبين.
  5. إنشاء فرشاة صلبة بلون أسود.
  6. ارسم سلسلة نصية على رسم البتات باستخدام الخط والفرشاة المحددين.
  7. احفظ صورة البت ماب كملف صورة PNG.

يظهر مثال الكود التالي كيفية رسم النص على صورة بتنسيق بت في جافا.

// كيفية رسم نص على صورة نقطية في Java باستخدام Aspose.Drawing
// ت créate a new bitmap with dimensions 500x200 pixels
Bitmap bitmap = new Bitmap(500, 200);

// إنشاء كائن رسوميات للرسم على الصورة النقطية
Graphics graphics = Graphics.fromImage(bitmap);

// املأ كل صورة البت بخلفية رمادية فاتحة
graphics.clear(Color.getLightGray());

// حدد خطًا بالاسم "Arial" وحجم 24
Font font = new Font("Arial", 24);

// قم بإنشاء فرشاة سوداء صلبة لرسم النص
Brush brush = new SolidBrush(Color.getBlack());

// ارسم السلسلة على البت ماب في الموضع (20، 80)
graphics.drawString("Welcome to Bitmap!", font, brush, 20, 80);

// قم بحفظ الصورة النهائية مع النص كملف PNG.
bitmap.save("output.png");
جافا رسم النص علىBitmap

جافا رسم النص على الصورة bitmap

6. ملء خريطة البت بلون صلب

يمكنك ملء جزء من الصورة بلون صلب عن طريق اتباع الخطوات أدناه:

  1. أنشئ صورة نقطية جديدة بالعرض والارتفاع المطلوبين.
  2. قم بإنشاء كائن رسومي من الصورة النقطية.
  3. اصنع فرشاة رمادية صلبة للتعبئة.
  4. املأ منطقة bitmap بأكملها باستخدام اللون الرمادي عن طريق مستطيل مملوء.
  5. احفظ الصورة النقطية كملف صورة PNG.

تظهر عينة الكود التالية كيفية ملء صورة نقطية بلون ثابت باستخدام مستطيل في جافا.

// إنشاء صورة نقطية جديدة بأبعاد 500x500 بكسل
Bitmap bitmap = new Bitmap(500, 500);

// قم بإنشاء كائن رسومات للرسم على الصورة النقطية
Graphics graphics = Graphics.fromImage(bitmap);

// أنشئ فرشاة رمادية صلبة لاستخدامها في التعبئة
SolidBrush brush = new SolidBrush(Color.getGray());

// املأ منطقة بت ماب بالكامل بلون الرمادي
graphics.fillRectangle(brush, 0, 0, bitmap.getWidth(), bitmap.getHeight());

// احفظ الصورة المعبأة كملف صورة PNG
bitmap.save("output.png");
جافا رسم على صورة نقطية وملء بمستطيل

Java رسم مستطيل على صورة نقطية وملئه بلون

7. تحميل صورة إلى صورة نقطية

يمكنك أيضًا تحميل ملف صورة إلى كائن Bitmap كما يلي:

  1. قم بإنشاء صورة نقطية جديدة فارغة بالحجم المطلوب.
  2. قم بتحميل صورة موجودة في كائن بت ماب.
  3. قم بإنشاء كائن رسومات من البت ماب الفارغ.
  4. ارسم الصورة المحملة على صورة بيانية فارغة في الزاوية العليا اليسرى.
  5. احفظ الخريطة النهائية كملف صورة PNG.

تظهر عينة الشيفرة التالية كيفية تحميل صورة في صورة نقطية باستخدام جافا.

// أنشئ صورة نقطية جديدة فارغة بأبعاد 500x500 بكسل
Bitmap bitmap = new Bitmap(500, 500);

// تحميل صورة موجودة من ملف إلى كائن بت ماب
Bitmap loaded = new Bitmap("C:\\Files\\Drawings\\sample.jpg");

// إنشاء كائن رسم لرسمه على صورة نقطية فارغة
Graphics graphics = Graphics.fromImage(bitmap);

// ارسم الصورة المحملة على خريطة البت الفارغة في الموقع (0، 0)
graphics.drawImage(loaded, 0, 0);

// احفظ الخريطة النهائية كملف PNG جديد
bitmap.save("output.png");
قم بتحميل صورة إلى Bitmap باستخدام جافا

تحميل صورة بتنسيق Bitmap باستخدام Java

8. تغيير حجم صورة موجودة

لتغيير حجم صورة نقطية:

  1. قم بتحميل الصورة الأصلية في كائن بت ماب.
  2. قم بإنشاء صورة نقطية جديدة بعرض ونصف ارتفاع الصورة الأصلية.
  3. احفظ خريطة البت المعدلة كملف صورة PNG.

العينة التالية من الكود توضح كيفية إعادة حجم صورة موجودة وحفظها كصورة بتنسيق bitmap جديدة في Java.

// تحميل الصورة الأصلية من الملف إلى كائن بت ماب
Bitmap original = new Bitmap("C:\\Files\\Drawings\\sample.jpg");

// قم بإنشاء صورة نقطية جديدة بمقاس 50% من العرض والارتفاع الأصليين.
Bitmap resized = new Bitmap(original, new Size((int)(original.getWidth() * 0.5), (int)(original.getHeight() * 0.5)));

// احفظ صورة البيتماب التي تم تغيير حجمها كملف صورة PNG جديد
resized.save("output.png");
كيفية تغيير حجم الصورة باستخدام Bitmap في Java

تغيير حجم الصورة الموجودة باستخدام جافا

جرب Aspose.Drawing مجاناً

يمكنك الحصول على ترخيص مؤقت مجاني لاستكشاف Aspose.Drawing بدون حدود.

إنشاء صورة نقطية في جافا: موارد مجانية

إذا كنت تريد استكشاف المزيد عن العمل مع الخرائط النقطية في جافا، فقم بتصفح الموارد المجانية التالية لتعميق فهمك وزيادة إنتاجيتك:

الخاتمة

في هذا الدرس، تعلمت كيفية إنشاء والعمل مع الصور النقطية باستخدام Aspose.Drawing for Java. لقد تناولنا كيفية توليد صورة نقطية من الصفر، تحميل وتغيير حجم الصور الموجودة، رسم الأشكال والنصوص، ملء المناطق بألوان صلبة، وحفظ الصور بتنسيقات مختلفة مثل PNG و JPG و BMP و GIF. مع هذه القدرات، يمكنك بسهولة إضافة الرسومات المخصصة ومعالجة الصور إلى تطبيقات Java الخاصة بك.

يسهل Aspose.Drawing for Java العمل مع الرسومات ثنائية الأبعاد برمجياً. زيارة الوثائق الرسمية لاستكشاف المزيد.

انظر أيضا