الصورة هي صورة مكونة من مجموعة من البكسلات ومخزنة في شكل ثنائي. تدعم لغة Java ثلاثة تنسيقات رئيسية لملفات الصور: GIF وJPEG وBMP. يتم تغليف وظيفة معالجة الصور للغة جافا في فئة الصورة.
تحميل الصورة والإخراج
في برنامج Java، تعد الصور أيضًا كائنات، لذا عند تحميل صورة، يجب عليك أولاً الإعلان عن كائن الصورة، ثم استخدام طريقة getImage() لربط كائن الصورة بملف الصورة. هناك طريقتان لتحميل ملفات الصور:
صورة getImage(URL url)، يحدد عنوان url موقع الصورة واسم ملفها.
صورة getImage(URL url,String name)، يحدد url موقع الصورة، والاسم هو اسم الملف.
على سبيل المثال، التعليمة البرمجية التالية تعلن عن كائن صورة وتستخدم كائن getImage() لربطه بملف الصورة:
Image img = getImage(getCodeBase(),"family.jpg");
يتم استخدام كائن URL (محدد موقع الموارد الموحد) لتحديد اسم المورد وعنوانه ويتم استخدامه عندما يصل عميل WWW إلى موارد الإنترنت. هناك طريقتان لتحديد موضع الصورة: الموضع المطلق والموضع النسبي. طرق الحصول على المناصب النسبية هي:
URL getCodeBase()، احصل على موقع ملف التطبيق الصغير.
URL getDocumentBase()، احصل على موقع ملف HTML.
على سبيل المثال الكود:
URL picURLA = new URL(getDocumentBase(),"imageSample1.gif"), picURLB = new URL(getDocumentBase(),"pictures/imageSample.gif");
طرق الحصول على معلومات الصورة (السمات) هي:
getWidth (مراقب ImageObserver): احصل على العرض؛
getHeight(مراقب ImageObserver): احصل على الارتفاع.
يتم كتابة كود إخراج الصور بطريقة الطلاء () وهناك أربع طرق لعرض الصور:
رسم منطقي (صورة img،int x،int y،مراقب ImageObserver)رسم منطقي (صورة img،int x،int y،لون bgcolor،مراقب ImageObserver)رسم منطقي (صورة img،int x،int y،عرض int،ارتفاع int ,ImageObsever Observer)boolean drawImage(Image img,int x,int y,int العرض، الارتفاع int، اللون bgcolor، مراقب ImageObsever)
المعلمة img هي كائن الصورة. عندما يكون حجم الصورة مختلفًا، سيتم تغيير حجم الصورة المعروضة.
تطبق فئة Applet أيضًا واجهة ImageObserver، وغالبًا ما يتم استخدامها كمعلمة فعلية. انظر الكود والتعليقات التالية:
(1) g.drawImage(image1,0,0,this);// عرض الصورة الأصلية
(2) g.drawImage(image2,10,10,Color.red,this);// عرض الرسم بالإضافة إلى لون الخلفية ملاحظة: إذا كان حجم الصورة الأصلية مختلفًا عن النطاق المحدد، فسيقوم النظام تلقائيًا بقياس الحجم
(3) g.drawImage(labImag,0,0,this);// عرض الصورة الأصلية
(4) g.grawImage(labImag,0,120,100,100,this);//عرض التكبير
(5) g.grawImage(labImag,0,240,500,100,this);//عرض التكبير
[مثال] يستخدم تطبيق صغير طريقة init() أو start() لتنزيل (الحصول على) صورة، ويستخدم طريقة Paint() لعرض الصورة التي تم الحصول عليها.
import java.applet.*;import java.awt.*;public class example7_5 Extends Applet{ Image myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg"); public void Paint(Graphics g){ g.drawImage(myImg,2,2,this }});نظرًا لعدم توفر طريقة getImage() في فئات مثل Frame وJFrame وJPanel، فإنهم بحاجة إلى استخدام فئة مجردة Toolkit في java.awt.Toolkit لتحميل الصور، والتي تحتوي على طرق لتحميل ملفات الصور:
بهذه الطريقة، يمكن للمكونات المختلفة استخدام طريقة getToolkit () للحصول على كائن مجموعة الأدوات، ثم عرض الصورة من خلال كائن مجموعة الأدوات في طريقة الطلاء () الخاصة بالمكون. يوضح الكود التالي هذا الاستخدام:
أداة مجموعة الأدوات = getToolkit(); URL url = عنوان URL الجديد(http://www.weixueyuan.net/image.gif);
يمكن للمكونات أيضًا استخدام الأسلوب الثابت getDefaultToolkit() الذي توفره Toolkit للحصول على كائن Toolkit الافتراضي واستخدامه لتحميل الصور. في هذا الوقت، غالبًا ما يتم كتابة رمز تحميل الصورة على النحو التالي:
Image img = Toolkit.getDefaultToolkit().getImage(url);