الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد ميثود بالجافا تقوم بتكبير بيكسل الصوره

بدأه مياار في 13 مايو 2009 · 18 رد · 874 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مساء الخير جميعا

هل توجد ميثود بالجافا تقوم بتكبير بيكسل الصوره

مو البكسل يكون اصغر شيء في الصوره

انا ابغاها يكون كبير

انا عارفه لو كان البيكسل كبير الصوره ماتوضح كثير

بس محتاجه الكود هذا

لقيت الميثود هذه بس مو عارفه كيف يستخدموها

setPixels(int x, int y, int w, int h, int[] iArray)

Sets all samples for a rectangle of pixels from an int array containing one sample per array element.

هل فعلا هذه الميثود تغير حجم البكسل

طبقتها بس الكود طلع غلط

معناه فيه شي ناقص

إن شاء الله القى الحل عندكم

#2

اخي الكريم في مكتبة بالجافا خاصة من اجل هذه الامور

مثل تكبير البكسل تدوير الرسمة او الاحداثيات او نقل نقطة الاحداثيات نقل الرسمة لمكان اخر و ما الى ذلك

اسم المكتبة

java.awt.Graphics2D

و تستطيع استخدامها بان تمرر الغرافيكس الذي تعمل عليه داخل الانستانس مثال على ذلك

public void paintComponent( Graphics g )
	{
		super.paintComponent( g ); 
		Graphics2D g2d = ( Graphics2D ) g;

	}

و عندك ايضا المكتبة

java.awt.geom.GeneralPath

و تلك المكتبتان يكملان بعضهم

اي ان الذي لا تراه بالاولى تراه بالاخرى بالامور اللتي اخبرتك عنها

mofeedchaar@hotmail.com

#3

شكرا يعطيك العافيه

لكني بحثت في المكتبه graphic2D

وما وجدت ميثود تكبير البيكسل

ممكن تكون معروفه باسم اخر لا اعلمه

الميثود

setPixels(int x, int y, int w, int h, int[] iArray

موجوده في الكلاس writable Raster

لكن ما اعرف طريق استخدامها

اذا تعرف اي ميثود تكبر البكسلات اخبرني بها

#4

موضوع تكبير البيكسلات هذا مفهوم خاطئ تماماً

متى يمكن أن نتكلم عن تكبير البيكسيلات؟

عندما تكون أنت مصمم الشاشة عندها تكلم كما يحلو لك

لكن في حالتك أنت تريد أن تكبر النقطة

لا مشاكل في هذا استخدم fillRectangle في Graphics2D

لماذا تستخدم raster أظنه له علاقة بـ image processing

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

انا جربت الfillrectangle لكن مازبط الوضع

لاني ابغى ارسم مستقيم يتكون من بيكسلات

انا ابغى انفذ خوارزمية من خوارزميات رسم المستقيم

لما استخدمت الfillrectangle لما اترسم المستفيم مااعطاني شكل مستفيم اعطاني مستطيلات خلف بعضها البعض

عشان كذا انا استخدم ال raster حتى اقدر اوصل للبكسلات الموجوده في الصوره والونها فاستخدم الميثود setPixel

ويعطيني شكل مستقيم فانا حابه يكون البيكسل حجمه كبير حتى يوضح اكثر في الصوره ويبان المستقيم بوضوح

مافي ميثود تؤدي الى هذه الفكره ؟؟؟

#6

لرسم مستقيم يجب استعمال drawLine

#7

مثال


import java.awt.event.*;
import javax.swing.*;

public class DrawLine extends JFrame {

JTextField txtX1, txtX2, txtY1, txtY2, txtWidthLine;
JButton btn;
JPanel pn;

public DrawLine() {
txtX1 = new JTextField(3);
txtX2 = new JTextField(3);
txtY1 = new JTextField(3);
txtY2 = new JTextField(3);
txtWidthLine = new JTextField("1", 3);
pn = new JPanel();
btn = new JButton("Draw line");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
repaint();
}
});
pn.add(new JLabel("X1"));
pn.add(txtX1);
pn.add(new JLabel("X2"));
pn.add(txtX2);
pn.add(new JLabel("Y1"));
pn.add(txtY1);
pn.add(new JLabel("Y2"));
pn.add(txtY2);
pn.add(new JLabel("Line width"));
pn.add(txtWidthLine);
pn.add(btn);
add(pn, BorderLayout.NORTH);
add(new PaintPanel(), BorderLayout.CENTER);
setSize(500, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

class PaintPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (!txtX1.getText().isEmpty() && !txtX2.getText().isEmpty() && !txtY1.getText().isEmpty() && !txtY2.getText().isEmpty()) {
int x1 = Integer.parseInt(txtX1.getText());
int x2 = Integer.parseInt(txtX2.getText());
int y1 = Integer.parseInt(txtY1.getText());
int y2 = Integer.parseInt(txtY2.getText());
int widthLine = Integer.parseInt(txtWidthLine.getText());
Graphics2D g2 = (Graphics2D)g;
//we set the width of the line with a BasicStroke
g2.setStroke(new BasicStroke(Float.parseFloat(txtWidthLine.getText())));
g2.drawLine(x1, y1, x2, y2);
}
}
}
public static void main(String[] args) {
new DrawLine();
}
}
import java.awt.*;

#8

أخ herch أظن الأخت تعمل على رسم مستقيم باستخدام النقاط كخوارزمية

بمعنى أن كودها يفترض أن يقوم بشيء شبيه بما تقوم به draw line

أختي هذه هي الطريقة الوحيدة لتكبير البيكسيل إن صح التعبير

لهذا يجب عليك أن تعدلي الخوارزمية الخاصة بك

حتى مع رسمك للمتسقيم عن طريق البيكسيل فأنتي تقومين بنفس الشيء لكن لأن مساحة البيكسيل صغيرة جداً فأنتي لا تلاحظين

ربما لو تحولتي إلى Graphic2D سيكون في استطاعتك استخدام الفرشاة Paint

لكن سؤال حول ما تقومين به

ما هي فائدة المصفوفة array الموجودة في setPixel أتمنى لو توضحي هذه النقطة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

ما فهمت علاء كيف قصدك احول لل graphic2d واستعمل الفرشاه paint ياليت توضحلي الفكره اكثر

بالنسبه للمصفوفه الموجوده في setPixel احط فيها اعدادات الالوان تبع البيكسل ARGB

فهي تقبل اربع قيم واذا زادات عدد القيم عن اربع تتجاهالها

بالنسبه للبرنامج اللي وضعه الاخ herch ما يشتغل اذا ضغط الزر الdraw ما يطلع الرسمه ليش؟؟

#10

خلاص اشتغل البرنامج الاخ herch شكرا

#11

آسف قصدت Stroke

واستخدامه كالتالي

g2d.setStroke(new BasicStroke(3));

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

عفوا بس هل فيه ميثود ترسم البيكسل في graphic2D

لانه انا جربت ارسم مستطيل طوله وعرضه 1 بس الدكتور قال ماينفع لازم نرسم بيكسل

#13

وحدة القياس هي الpixel، عندما ترسمين مربع طوله وعرضه واحد، يعني واحد pixel

#14

استخدمت الميثود stroke يعني عرضت الرسمه شويه

#15

الpixel هو الpixel، لا يمكن تكبيره أو تصغيره

عند القيام بعملية الzoom مثلا، لا يتم تكبير الpixels، بل يتم إضافة pixels جديدة

عندما تقومين بتكبير عرض المستقيم، فإنه لا يتم تكبير الpixels، ولكن إضافة pixels أخرى

#16

طيب شكرا على المعلومات خلاص اقتنعت انه مافي تكبير للبيكسل

طيب انا سويت كلاس كامل فيه نوافذ الادخال والاخراج

وسويت كلاس اخر يحتوي على الواجهات وفيه button

لو انضغط ابغاه يستدعي الكلاس الاخر ويطبق جميع الميثود الموجوده فيه

اقدر اعمل هالفكره ........

انا حطيت كلاس الرسم بكلاس الواجهات وانشئت اوبجكت من كلاس الرسم

واستدعيت الميثود init لكن الميثود paint يطلع غلط في استدعائها ليش ؟؟

#17

ممكن الكود الذي كتبتيه؟؟

#18

طيب ممكن ايميلك لاني مو عارفه ارسله لك على الخاص

#19

ضعيه في ملف rar واضيفيه للمرفقات

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…