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

كيف التحكم بالصور

بدأه clang في 1 أكتوبر 2010 · 7 رد · 872 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيف التحكم بعرض الصور بالبرنامج بحيث اذا كان حجم الصورة اكبر من الشاشة استطيع تصغير الصورة وتكون بحجم الشاشة

او

العكس اذا كانت الصورة صغيرة استطيع تكبيرها بحجم الشاشة

وهذا باستخدام LWUIT

وشكرا

#2
clang كتب:

السلام عليكم ورحمة الله وبركاته

كيف التحكم بعرض الصور بالبرنامج بحيث اذا كان حجم الصورة اكبر من الشاشة استطيع تصغير الصورة وتكون بحجم الشاشة

او

العكس اذا كانت الصورة صغيرة استطيع تكبيرها بحجم الشاشة

وهذا باستخدام LWUIT

وشكرا

اعتقد انك تردين مثل هذه

هذا هو الشكل الطبيعى للصوره الكبيره

post-217802-076511900 1285970258_thumb.p

وهذا هو الشكل بعد التحجيم

post-217802-093282100 1285970248_thumb.p

هذا هو الشكل الطبيعى للصوره الصغيره

post-217802-017470900 1285970270_thumb.p

وهذا هو الشكل بعد التحجيم

post-217802-044434000 1285970264_thumb.p

وهذا هو الكود المستخدم فى هذه العمليه

ImageLabel custom component

import com.sun.lwuit.Graphics;
import com.sun.lwuit.Image;
import com.sun.lwuit.Label;
import com.sun.lwuit.RGBImage;

/**
 *
 * @author Mahmoud Kelany
 */
public class ImageLabel extends Label {

    Image icon;

    public ImageLabel() {
    }

    public void setIcon(Image icon) {
        super.setIcon(icon);
        this.icon = icon;
    }

    public Image getIcon() {
        return icon;
    }

    public void paint(Graphics g) {
        RGBImage rGBImage = new RGBImage(icon);
        int width = getWidth();
        int height = getHeight();
        rGBImage.scale(width, height);
        g.drawImage(rGBImage, 0, 0);
    }
}

ImageMidlet

import com.sun.lwuit.*;
import java.io.IOException;
import javax.microedition.midlet.*;
import com.sun.lwuit.layouts.BorderLayout;

/**
 * @author Mahmoud Kelany
 */
public class ImageMidlet extends MIDlet {

    Form mainFrom;

    public void startApp() {
        try {
            Display.init(this);
            mainFrom = new Form();
            // Custom Label
            ImageLabel imageLabel = new ImageLabel();
            imageLabel.setWidth(mainFrom.getWidth());
            imageLabel.setHeight(mainFrom.getHeight());
            imageLabel.setIcon(Image.createImage(getClass().getResourceAsStream("/2.png")));
            //End Cutom Label
            mainFrom.setLayout(new BorderLayout());
            mainFrom.addComponent(BorderLayout.CENTER, imageLabel);
            mainFrom.show();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

بالتوفيق :)

تعديل المشاركه بسبب : كنت قد اسأت الفهم فالمره الاولى :)

المرفقات
imageScaled1.pngimageScaled2.pngimageScaled3.pngimageScaled4.png

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 2 أكتوبر 2010 في 01:04

Software Developer
Mahmoudkelany.com


 

#3

السلام عليكم ورحمة الله وبركاته

شكرا لكم كثيرا

نعم هذا ما كنت اقصده

ووفقكم الله لكل خير

#4
clang كتب:

السلام عليكم ورحمة الله وبركاته

شكرا لكم كثيرا

نعم هذا ما كنت اقصده

ووفقكم الله لكل خير

وعليكم السلام ورحمه الله وبركاته

الحمدلله :)

يارب جميعا

Software Developer
Mahmoudkelany.com


 

#5

طب و اذا كان عندى GridLayout يوجد به اكتر من صورة و اريد تغير مساحتهم حتى تلائم الشاشة .. اعمل ايه ؟؟

#6
ranoOoOoOona كتب:

طب و اذا كان عندى GridLayout يوجد به اكتر من صورة و اريد تغير مساحتهم حتى تلائم الشاشة .. اعمل ايه ؟؟

ازاى حضرتك ؟؟؟

السوال غير واضح

Software Developer
Mahmoudkelany.com


 

#7

اقصد انى عندى Menu معمولة بال GridLayout و بداخل كل cell يوجد Button has an Iconو انا عاوزة اصغر الIcon دى عشان يلائم الشاشة و ميكونش فى Scroll اعمل ايه ؟؟؟

او بمعنى اصح ازاى اتحكم فى ال Image Size ????

#8

يمكنك التحكم بمنع ال Scrolling

ضعي هذه الخاصية لل Form الذي فيه ال Grid Container

setScrollable(false);

و لتأخذ الصورة حجم ال Component و بدون الحاجة لعمل Resize لها

مثلا:

currenLabel.getStyle().setBgImage(yourImage);
1

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