QString drawing as Image

Hey, it's that I would have QString object drawn as Image and display it on an ImageView.

I have research this topic on google and the suggestion was to 'Paint' the QString to Bitmap...

Any ideas on that? Thank you

itcraps wrote:

writer of PNG is @bobdodd supports the rendering of text?

Thanks for all the suggestions

Yes, it does, and it supports loading True Type fonts

Tags: BlackBerry Developers

Similar Questions

  • How to draw an image with reflection effect?

    Hi!, someone know how to draw an image with reflex effect?. I develop in JDE 4.7 with the simulator of the storm. I want to put a picture below a reflex effect as Apple Inc. and normal. My request is a CLDC and I use a MainScrren class, this is an example of what I want to draw:

    Angel

    Hello

    I found the code on the net, it works very well on j2me that even can be used also in blackberry below.

    public static Image createShadow(Image image) {
    
            int newX = image.getWidth();
            int newY = image.getHeight()/2;
             int out[] = new int[newX*newY];
             int row[] = new int[newX];
    
            for (int iy = 0; iy < newY; iy++)
            {
              image.getRGB(row,0,newX,0,iy+newY,newX,1);
              for (int i = 0; i < row.length; i++) {
                  out[((newY-1)*newX-iy*newX)+i] = row[i] & ( (127*iy/newY)<< 24 | 0xffffff);
              }
            }
    
            return Image.createRGBImage(out,newX,newY,true);
        }
    

    Hope this will solve you problem.

    Please let me know if it solves your problem or not.

  • When I copy and paste into my Corel Draw, the image is distorted with the cutting tool

    Original title: the cutting tool false image

    I used snipping too long without problem.  Now all of a sudden (only when I copy and paste into my Corel Draw) the image is distorted.  I use windows 7 64-bit.

    Hi Diana,

    1 have you ever done any recent hardware or exchange of software on your computer before the show?

    2 have you tried to check the issue with another application?

    3. what files are copy you / paste in Corel Draw, using the cutting tool?

    If the problem is specific to Corel application, then I suggest you to contact the Corel Support for assistance.

    Corel communities:

    http://www.Corel.com/Corel/pages/index.jsp?PgId=800085

    Supported Corel:

    http://www.Corel.com/Corel/pages/index.jsp?PgId=800170

    For reference:

    The cutting tool: frequently asked questions: http://windows.microsoft.com/en-in/windows7/snipping-tool-frequently-asked-questions

     

    Snipping Tool to capture screen shots:

    http://Windows.Microsoft.com/en-in/Windows7/use-Snipping-Tool-to-capture-screen-shots 

    I hope this helps.

  • A 'Draw multiple images in a grid' changed in InDesign CS6?

    As I was working in InDesign CS6 and by using the familiar function to draw multiple images in a grid by using the arrow keys and mouse, I discovered a change in behavior.

    Executives are no longer separated by a ditch; in CS6 each frame borders the following. This is not how the service worked with CS5, CS5.5, see: http://tv.adobe.com/watch/indesign-cs5-feature-tour/grid-mode-and-live-distribute/?go=4949

    How to make images, separated by a space new in InDesign CS6? I can't find any Tunis for CS6.

    See you soon,.

    Dave

    I almost never use this feature, but I remember well, it's that the gap corresponds to that set for the width of the gutter in the configuration of the initial document dialog. Change this in layout > margins and columns would probably do the trick.

  • Blast from the past: how to draw clickable images in Dreamweaver CC 2014?

    Need to update some old stuff and can´t find where to draw picture cards on the images.

    First, you must be in Design mode to get the image map tools to appear.

    Once there, the icons of image map should show when you select an image. If they are not, you can have your properties panel themselves are collapsed. There is a small triangle in the lower right corner of the properties panel, click that to expand the Panel to include the image tools.

  • A really strange behavior with updateDisplayList drawing extended Image

    It's two days I am stuck on this problem of srtange: I write a simple class called UserImage which extends from Image and implements IFocusManagerComponent.

    My goal is to have a draggable and resizable, image by dragging the edges in a canvas.

    Because there may be several UserImage instance in the same Web, I want the image currently used, the last click dessu, to be lined.

    Now everything works until I

    1. Select the image by clicking on, and the border shows correctly

    2. drag the image and the image retains the right border

    3. resize the image, now the border resizes properly BUT Gets the two offsets equal to the last drag XY (point 2)

    Please, there is someone who could help me? According to my low experience with Flex, it is two days I am Googling for anything

    Here's the relevant code of the IMO:

    the code in generator.as, compared to the canvas where her occurs drag and resize

    Called when the user moves the proxy to slide on the drop target.
    private void dragEnterHandler(event:DragEvent):void {}
    trace ("initiator DragEnter:" + UserImage (event.dragInitiator) .x + "" + (event.dragInitiator) UserImage there);
    Download the target of the event object drop component.
    var dropTarget:Canvas = event.currentTarget as canvas;
    Accept the drop.
    DragManager.acceptDragDrop (dropTarget);
    }

    Called if the target accepts the dragged object and the user
    release the mouse button while on the canvas container.
    private void dragDropHandler(event:DragEvent):void {}
    Compensate for the location of the mouse pointer in the title bar.
    var newX:uint = event.currentTarget.mouseX - (event.dragInitiator) UserImage, .offsetX;
    var newY:uint = event.currentTarget.mouseY - .offsetY (event.dragInitiator) UserImage;
    If (event.dragSource.hasFormat ("drag")) {}
    trace ("initiator Drop:" + UserImage (event.dragInitiator) .x + "" + (event.dragInitiator) UserImage there);
    event.dragInitiator.move (agree, y);
    trace ("Drop newxy:" + agree + "" + y);
    } ElseIf (event.dragSource.hasFormat ("resize")) {}
    trace ("initiator Drop:" + UserImage (event.dragInitiator) .x + "" + (event.dragInitiator) UserImage there);
    event.dragInitiator.width = UserImage (event.dragInitiator) .width + agree - UserImage (event.dragInitiator) .x;
    event.dragInitiator.height = UserImage (event.dragInitiator) .height + y - there UserImage (event.dragInitiator);
    }
    }

    This is UserImage.as, the class resizable image of end of draggabel

    package com.lutek.components
    {
    import flash.display.Shape;
    import flash.events. *;

    Import mx.controls.Image;
    Import mx.core.DragSource;
    Mx.events import. *;
    Import mx.managers.CursorManager;
    Import mx.managers.DragManager;
    Import mx.managers.IFocusManagerComponent;

    SerializableAttribute public class extends implements IFocusManagerComponent Image UserImage
    {
    descriptive field
    [Inspectable]
    public var description: String = new String;

    Incorporate the symbols of cursor
    [Embed (source = "move.png")]
    private var dragCursorSymbol: Class;

    [Embed(source="resize-r.png")]
    private var resizeCursorSymbol: Class;

    necessary to calculate offset them between point clicked and position of the image
    public var offsetX:uint;
    public var offsetY: uint;

    State of the image
    public var isClicked: Boolean = false;

    form when you click
    place private var: Shape = new Shape();

    Set a variable to contain the ID of the cursor.
    private var cursorID:Number = 0;

    indicates whether the image is visible
    public var isOnStage:Boolean = false;

    override protected function updateDisplayList(w:Number,_h:Number):void {}
    super.updateDisplayList (w, h);
    Square.Graphics.Clear ();
    square.graphics.lineStyle (2, 0x00ff00);
    square.graphics.drawRect (this.x, this.y, this.width, this.height);
    }

    public void UserImage()


    {
    Super();
    this.focusEnabled = true;
    addEventListener (flash.events.FocusEvent.FOCUS_IN, FocusInImage)
    addEventListener (flash.events.FocusEvent.FOCUS_OUT, FocusOutImage);
    addEventListener (flash.events.MouseEvent.MOUSE_MOVE, Moveimage);
    addEventListener (flash.events.MouseEvent.MOUSE_OVER, OverImage);
    addEventListener (flash.events.MouseEvent.MOUSE_OUT, OutImage);
    addEventListener (flash.events.MouseEvent.CLICK, ClickImage);
    addEventListener (flash.events.MouseEvent.DOUBLE_CLICK, DblClickImage);
    addEventListener ("creationComplete", completeImage);
    addEventListener ("updateComplete", resizeImage);
    square.graphics.lineStyle (2, 0x00ff00);
    square.graphics.drawRect (this.x, this.y, this.width, this.height);
    this.addChild (square);
    }

    private void resizeImage(event:Event):void {}
    }

    private void completeImage(event:Event):void {}
    }

    private void FocusInImage(event:FocusEvent):void {}
    display a square in the display list.
    This.Square.Visible = true;
    }

    private void FocusOutImage(event:FocusEvent):void {}
    hide a square to the display list.
    This.Square.Visible = false;
    this.isClicked = false;
    CursorManager.removeCursor (cursorID);

    }

    private void OverImage(event:MouseEvent):void {}
    }

    private void OutImage(event:MouseEvent):void {}
    CursorManager.removeCursor (cursorID);
    }

    private void ClickImage(event:MouseEvent):void {}
    this.isClicked = true;
    }

    private void DblClickImage(event:MouseEvent):void {}
    }

    private void MoveImage(event:MouseEvent):void {}
    var action: String = "";
    If {(this.isClicked)
    If (this.width - event.localX < = 10 & & this.height - event.localY < = 10) {}
    Set resize cursor
    If (cursorID == 0) {}
    cursorID = CursorManager.setCursor (resizeCursorSymbol);
    } else {}
    CursorManager.removeCursor (cursorID);
    cursorID = CursorManager.setCursor (resizeCursorSymbol);
    }
    action = "resize"
    }
    else {}
    If (cursorID == 0) {}
    cursorID = CursorManager.setCursor (dragCursorSymbol);
    } else {}
    CursorManager.removeCursor (cursorID);
    cursorID = CursorManager.setCursor (dragCursorSymbol);
    }
    action = "dΘplacer";
    }
    Save the offsets to oppose
    this.offsetX = event.localX;
    this.offsetY = event.localY;

    Download the initiator component of drag of the event object.
    var dragInitiator:UserImage = event.target as UserImage;

    Create a DragSource object.
    var ds:DragSource = new DragSource();

    Add data to the object.
    ds.addData (dragInitiator, action);

    Call the DragManager doDrag() method to start the operation slip.
    DragManager.doDrag (dragInitiator, ds, event);

    }

    }
    }
    }

    The first thing I saw was this:

    override protected function updateDisplayList(w:Number,_h:Number):void {}

    super.updateDisplayList (w, h);

    Square.Graphics.Clear ();

    square.graphics.lineStyle (2, 0x00ff00);

    square.graphics.drawRect (this.x, this.y, this.width, this.height);

    If the object is placed at 100 100 and you want to square in the upper left corner, you want to draw to (0,0), not to the coordinate x, y.  You have to remember when you need to use coordinates parent or child coordinated

    Alex Harui

    Flex SDK Developer

    Adobe Systems Inc..

    Blog: http://blogs.adobe.com/aharui

  • draw the image tutorial

    Hey
    I copied this tutorial here and tried to run it I gt a block empty
    http://download.Oracle.com/javase/tutorial/2D/images/LoadImage.html
    did anyone have any ideas I could hurt!
    PS I don't know where to put the photo, so I put the address of an image online

    Aelian wrote:
    public LoadImageApp() {}
    try {}
    IMG = ImageIO.read (new File ("http://www.bisonium.com/blog/images/Gates-Jugend.jpg"));
    } catch (IOException e) {}
    }

    }

    Do not catch exceptions without printing the stacktrace with e.printStackTrace (). Now, you don't know that an error has occurred and that the image was not loaded.
    You use the File class, which is for local files, and yet you're him giving a web address. Try using the URL class instead (and fix your catch blocks!).

  • How to draw and the positioning of images in FieldManager using the method object?

    How can I add and the positioning of my images in the position desired in FieldManagers?

    I need to add more than 2 fields (HorizontalFieldManager/VerticleFieldManager) in my application and I draw an image using the method of painting ovverided.

    NOTE: The image will be established if I do not use mainScreen.add (SeparatorField ()) or mainScreen.add (hori2), see below.

    If I use mainScreen.add (mainScreen.add (hori2) SeparatorField ())... n then the horizontalFieldManger won't be empty, drawn in the output screen.

    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    import net.rim.device.api.ui.container.*;
    import net.rim.device.api.system.*;
    
    public class BackgroundImage extends UiApplication
    {
        private Bitmap backgroundBitmap;
        private Bitmap fieldBitmap;
    
        int width, height;
    
        public static void main(String[] args)
        {
                BackgroundImage theApp = new BackgroundImage();
                theApp.enterEventDispatcher();
        }
    
        HorizontalFieldManager hori2;
    
        public BackgroundImage()
        {
            //The background image.
            backgroundBitmap = Bitmap.getBitmapResource("jalan_logo.png");
    
            MainScreen mainScreen = new MainScreen();
    
            hori2 = new HorizontalFieldManager();
    
            HorizontalFieldManager horizontalFieldManager = new HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH | HorizontalFieldManager.USE_ALL_HEIGHT){
    
                //Override the paint method to draw the background image.
                public void paint(Graphics graphics)
                {
                    System.out.println("come to here..!!");
                    width = graphics.getScreenWidth();
                    height = graphics.getScreenHeight();
                    //Draw the background image and then call paint.
                    graphics.drawBitmap(width/2, height/2, 150, 40, backgroundBitmap, 0, 0);
                    super.paint(graphics);
                }            
    
            };
    
            //The LabelField will show up through the transparent image.
            LabelField labelField = new LabelField("This is a label");
    
            //Add the manager to the screen.
            mainScreen.add(horizontalFieldManager);
    
           mainScreen.add(new SeparatorField());
           mainScreen.add(hori2);
           hori2.add(labelField);
    
            //Push the screen.
            pushScreen(mainScreen);
        }
    }
    

    Help, please.

    I have already pointed out the problem with USE_ALL_HEIGHT in first Manager add you to the form. Drop this style bit, otherwise sublayout your screen will generate an exception, and nothing appears!

    If you want HorizontalFieldManager to be of a particular size, regardless of the height of managed fields, replace its sublayout:

    HorizontalFieldManager fieldManagerTopBanner = new
             HorizontalFieldManager()
    {
         protected void sublayout(int maxWidth, int maxHeight) {
            super.sublayout(maxWidth, maxHeight);
            int myDesiredHeight = ;
            setExtent(getWidth(), Math.min(myDesiredHeight, maxHeight));
         }
    
         protected void paint(Graphics g)
         {
              // g.setBackgroundColor(0x000000);//blue
                 g.drawBitmap(100, 150, 100, 200, jlnLogoImg, 0, 0);
    
              //g.clear();
                super.paint(g);
         }
    };
    
  • Draw images with rounded corners and border

    Hello!

    How can I draw an image with rounded corners and a border, but not to let the image go beyond the limits of the border?

    The image is constantly evolving, so the size and the proportion is also change periodically.

    Best regards

    Luis Borlido

    I found this

    http://cookbooks.Adobe.com/post_Rounded_Image-6502.html

    You can extend as a result of draw a border so

  • Try to draw a picture on another image

    Hello!
    I'm developing a simple application and I want to have a background image static on my JFrame and establishes her other pictures. That's why I created a class defined by user (named FrontPanel such below) that illustrates that extends JPanel and overrided the paintComponent (Graphics g) method. So I draw the background image once on the JFrame, and then I want to dynamically draw the other images on the JPanel. Unfortunately what happens is that the background image disappears and only the JPanel images are shown. If I resize the window then the background image appears again (as the Repaint method is called), but the JPanel images disappear. They can not be together at the same time.


    method of painting in my main class which extends JFrame
    {} public void paint (Graphics g)
    g.drawImage (this.museum_background, 0, 20, null);
    }

    class FrontPanel
    FrontPanel class extends JPanel {
    {FrontPanel()}
    Super();
    }

    {} public void update (Graphics g)
    paintComponent (g);
    }


    method that draws the images before
    @Override
    {} public void paintComponent (Graphics g)
    super.paintComponent (g);
    If (MainWindow.DRAW_VISITOR)
    g.drawImage (MainWindow.grvisitor, 500, 100, null);
    }
    }


    Is there a way to do this? Perhaps this is not available in Java and we are allowed to paint again what we want to display? I want to avoid this for effective purposes.
    Thank you very much for your time.
    Dimos.

    Finally try.

    In a class that extends JComponent (JPanel or, if you like)

    @Override
    public void paintComponent(Graphics g) {
       super.paintComponent(g); // needed if the custom painting does not paint the complete component
       g.drawImage(backgroundImage, 0, 0, this);
       if (whateverCondition) {
          g.drawImage(overlayImage, ...);
       }
    }
    

    and call repaint() whenever the application state changes in a way that determines whether the overlay should belong.

    DB

  • How to make an object image 2d to 3d

    Hi all

    I have this image of a robot - gross

    I would like to put this in another image (the plan) and move according to the movements of the robot. I think that the best way to do this is in fact a 3-d object and placing the texture on it.

    However, I am having difficulty to modify the examples on the site or (Community area) to achieve this. This also includes set up the camera to effectively eliminate the 3rd dimension, but still show the entire map (which is an image of void 512 by 512 pixels. The image of the robot is 40 x 40 pixels.

    An example in LabVIEW 8.6 (open-able) would be really useful in helping me to learn how to use these powerful 3d photo controls.

    Kind regards

    James

    Hi James,

    I'm not experienced with 3d image controls, but since - if I understand - you want only to view flat (2d) I think that a plain image (2d) control will do the job.

    Draw the image store in a shift register, and then draw the robot to the required position. To move the robot just, take the SR background image and draw the robot to the new position.

    There are several interesting discussions on image controls in this forum, for example the nugget Darren here.

    Hope this helps,

    Daniel

  • Export a simplified image failed in the Subvi

    I have a Subvi involving plot and export the xy-graph programmly. However, it can only generate white image (.emf). As I have tried several times, I discovered that if I kept the slot open,-VI no problem at all. But even minimize the Subvi, only blank pictures. I wonder why? Is it possible to export the Subvi chart?

    I guess that the Panel should be responsible for draw the images correctly. Either you could open the Panel before just before you export the image, or use the Get Image property and store it as a jpeg or bmp format.

  • calculation of the average value of the sorted data and polar route drawing

    Hello

    I did a VI that calculates the average value of the wind rotor/speed-ratio in the sections of 30 degrees (wind direction). He also called the polar plot of calculated data. Everything works, but I would like to make more detailed calculations and drawings, by increasing the resolution to 1 degree, or...

    Problem is VI, I did, is not easy on a large scale. At the moment, I have 12 parallel structures of switch-box to calculate the average value and build the array function to collect data calculated for Polar plot to draw the image in real time. I know it's probably the worst way to do it, but since I have done a few things with LV, it was the only way I managed to do what I wanted.

    Now, if I continue in same way to reach my goal, I have to create 360 Parallels switch-case structures... that are crazy.

    Something like the calculation of the average of the table or matrix (zero/empty values should not be calculated on average) inside the loop or similar way would probably be the best solution.

    So, polar plot drawing is not a problem, but creating a reasonalbe average metering system is. Any ideas?

    I would also like to rotare northward to the top (0 deg), and degrees of increase in a clockwise direction on polar ground dial plate (as on the compass).

    VI on the attachment. (simplified version of the complete system)

    I have signals:

    -Wind speed

    -wind direction

    -Rotor speed

    I want to:

    -calculate the average value of the speed of the wind / rotor - ratio in sections (5 degrees, 1 degree)

    -Draw a polar path of the wind rotor/speed-ratio of averages in propotion of wind direction

    I'm using LabView 2009

    Thank you very much.

    It is closer to what you're looking for?

  • Individual images WVC80N FTP on an interval defined by the user to a remote server does

    Hello

    I'm shopping for a wireless webcam to provide periodic fixed images that are accessible via any web browser. I'm not interested in live streaming video, or what I must have remote users to directly access the camera.

    I currently own a Panasonic BL-C131A that performs the necessary function well. I set it up to send a simple jpeg image to a remote server every 60 seconds (assigning the same file name each time). My web site (http://www.creston-community.com/Public/Webcam.html) has a page that displays the uploaded image, i.e. the .jpg file, in the same interval. Of course, whenever the web page pulls the top of the file, it contains a more recent image this file contained on the previous cycle.

    I need a second camera, but Panasonic is expensive. I seems that maybe the WVC80N could be an alternative to a price much lower. However, I have reviewed the user for the WVC80N guide and the only mention of ftp of it lies in the section dealing with motion detection. Can someone tell me if the camera can do what I ask, independent of any movement detection settings? If Yes, can I specify jpeg as the file type, set a preferred file name that will be assigned to each image and set the frequency (interval) between ftp downloads?

    Thanks for any information anyone can provide. !

    The WVC80n doesn't have the specific feature you are looking for, not exactly.

    However, it can achieve the desired result in a different way.

    The willing WVC80n of a CGI interface that your web server could pull left to draw the image, instead of the camera by pressing the image.

    In other words, you can set a timer for one minute on the web server to retrieve a single image of the WVC80n jpeg and save it like that.

    http://usernameassword@wvc80n-deviceort/img/snapshot.cgi?size=3&quality=1

    The URL above may also be directly mandated by your web server.

  • WebWorks BB10 not read file image of phone storage

    Hello. I'm trying to get a file from storage after taking a picture, resize, and then converted to base 64. I have most of it down, but I'm stuck on an error...  On the device, it records an empty string on the Simulator, it works well... Here is my code...

    function startCameraApp() {}
    PhotoTaken = false;
    blackberry.event.addEventListener ("onChildCardClosed", sharePhoto);

    BlackBerry.Invoke.Invoke ({}
    target: 'sys.camera.card '.
    (}, onInvokeSuccess, onInvokeError);
    }

    function sharePhoto (request) {}

    Console.log ('Hoezit');

    image of var = new Image();
    image.src="file://" + request.data;
    image. OnLoad = function () {}
    resized var = resizeMe (image); Send it to the Web
    imagedata var = resized.split ("base64"),
    sessionStorage.setItem ("MyPhoto", imagedata);
    }
    }

    function resizeMe (img) {}

    var canvas = document.createElement ('canvas');
    var max_width = 600; a 275
    var max_height = 600; a 275
    var width = img.width;
    var height = img.height;

    calculate the width and height, constrain proportions

    If (width > height) {}
    If (width > max_width) {}
    height = Math.round (height * width/max_width);
    width = max_width;
    }
    } else {}
    If (height > max_height) {}
    width = Math.round (width * height/max_height);
    height = max_height;
    }
    }

    resize the drawing area and draw the image inside data
    IMG. Width = width;
    IMG. Height = height;
    Canvas.Width = width;
    Canvas.Height = height;
    Canvas.ClassName += "ui-hide"
    CTX var = canvas.getContext ("2d");
    ctx.drawImage (img, 0, 0, width, height);
    Return canvas.toDataURL ();
    }

    The resize code should work fine. As says. The camera takes my picture and it works cool and everything, but on my device, it simply records an empty string. I should also mention that the path back to the sharephoto function is...

    /Accounts/1000/shared/camera/ImageName.jpg

    I'm so stuck and I really need help. I don't know why it works on the Simulator and not my camera.

    Oh and also. I have in my config file...



    <>ermissions >
    <>Ermit > read_geolocationermit >
    <>Ermit > read_device_identifying_informationermit >
    <>Ermit > access_sharedermit >
    <>Ermit > access_pimdomain_contactsermit >
    <>Ermit > use_cameraermit >
    ermissions >




    Thanks in advance

    I found my problem... You must add the correct authorization...

Maybe you are looking for

  • for the iBooks file size question

    Hello.. With a view to monitoring of storage space on a MacBook Air without 85 GB of available space, someone knows on what an iBook, file size can be? Thanks in advance! Carolyn

  • iPhone 4 front camera does not

    So I have an iPhone 4 with iOS 7.1.2... The front facing camera not work for months now, if not a year. When I go to open the camera app, rear camera works fine, but when I hit the power button, the application crashes. If I try to force quit the app

  • Satellite A500-02J001 - Intermittent TV Tuner?

    I recently bought a new laptop Satellite A500-02J001, running Windows 7 Home Premium (64-bit). I have properly configured the integrated digital TV tuner, analysis 28 channels with Windows Media Center. But the next time I went to use the TV tuner, W

  • How to disable the TouchPad 'tap to click' on Satellite A200 - 15L Vista

    Until mid-December, I got the Synaptics Touchpad ' tap to click on "disabled. Then it became somehow activated, the context menu item to change to gray and the properties of the mouse, etc. settings contain no reference to it. It was suggested that u

  • Looking for a small program of character Bit Map that I used to have.

    Can't remember where I got the original it - if it is part of the Windows component or if I downloaded it.  Everything I find on the internet are huge graphics, etc., etc. Using Win XP Pro