السلام عليكم ورحمة الله وبركاته
كيف التحكم بعرض الصور بالبرنامج بحيث اذا كان حجم الصورة اكبر من الشاشة استطيع تصغير الصورة وتكون بحجم الشاشة
او
العكس اذا كانت الصورة صغيرة استطيع تكبيرها بحجم الشاشة
وهذا باستخدام LWUIT
وشكرا
السلام عليكم ورحمة الله وبركاته
كيف التحكم بعرض الصور بالبرنامج بحيث اذا كان حجم الصورة اكبر من الشاشة استطيع تصغير الصورة وتكون بحجم الشاشة
او
العكس اذا كانت الصورة صغيرة استطيع تكبيرها بحجم الشاشة
وهذا باستخدام LWUIT
وشكرا
clang كتب:السلام عليكم ورحمة الله وبركاته
كيف التحكم بعرض الصور بالبرنامج بحيث اذا كان حجم الصورة اكبر من الشاشة استطيع تصغير الصورة وتكون بحجم الشاشة
او
العكس اذا كانت الصورة صغيرة استطيع تكبيرها بحجم الشاشة
وهذا باستخدام LWUIT
وشكرا
اعتقد انك تردين مثل هذه
هذا هو الشكل الطبيعى للصوره الكبيره
وهذا هو الشكل بعد التحجيم
هذا هو الشكل الطبيعى للصوره الصغيره
وهذا هو الشكل بعد التحجيم
وهذا هو الكود المستخدم فى هذه العمليه
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) {
}
}بالتوفيق :)
تعديل المشاركه بسبب : كنت قد اسأت الفهم فالمره الاولى :)
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 2 أكتوبر 2010 في 01:04
السلام عليكم ورحمة الله وبركاته
شكرا لكم كثيرا
نعم هذا ما كنت اقصده
ووفقكم الله لكل خير
clang كتب:السلام عليكم ورحمة الله وبركاته
شكرا لكم كثيرا
نعم هذا ما كنت اقصده
ووفقكم الله لكل خير
وعليكم السلام ورحمه الله وبركاته
الحمدلله :)
يارب جميعا
طب و اذا كان عندى GridLayout يوجد به اكتر من صورة و اريد تغير مساحتهم حتى تلائم الشاشة .. اعمل ايه ؟؟
ranoOoOoOona كتب:طب و اذا كان عندى GridLayout يوجد به اكتر من صورة و اريد تغير مساحتهم حتى تلائم الشاشة .. اعمل ايه ؟؟
ازاى حضرتك ؟؟؟
السوال غير واضح
اقصد انى عندى Menu معمولة بال GridLayout و بداخل كل cell يوجد Button has an Iconو انا عاوزة اصغر الIcon دى عشان يلائم الشاشة و ميكونش فى Scroll اعمل ايه ؟؟؟
او بمعنى اصح ازاى اتحكم فى ال Image Size ????
يمكنك التحكم بمنع ال Scrolling
ضعي هذه الخاصية لل Form الذي فيه ال Grid Container
setScrollable(false);
و لتأخذ الصورة حجم ال Component و بدون الحاجة لعمل Resize لها
مثلا:
currenLabel.getStyle().setBgImage(yourImage);