PhotoHolder - Bitmap/BitmapData Problems

Hello guys, how are you?
I'm trying to create an actionscript 3 class that receives an external image, adds it into a movieclip and adjusts it without corrupting the aspect ratio of the image.
I've tried working with BitmapData and Bitmap only, but can not hit the calculations. Can anyone help me?
Thank you,
package
    import flash.display.Bitmap;
          import flash.display.BitmapData;
          import flash.display.DisplayObject;
          import flash.display.Loader;
          import flash.display.MovieClip;
          import flash.display.PixelSnapping;
          import flash.display.Sprite;
          import flash.events.Event;
          import flash.events.IOErrorEvent;
          import flash.geom.Matrix;
          import flash.geom.Rectangle;
          import flash.net.URLRequest;
          import flash.system.LoaderContext;
          public class PhotoHolder extends MovieClip
                    private var _loader:Loader;
                    public function PhotoHolder()
                    public function loadPhoto(urlImg:String):void
                              _loader = new Loader();
                              _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
                              _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError);
                              _loader.load(new URLRequest(urlImg));
                    private function onError(e:IOErrorEvent):void
                              trace("ERROR!");
                    private function onComplete(e:Event):void
                              var loadedImage:Bitmap = Bitmap(_loader.content);
                              var bmd:BitmapData = new BitmapData(_loader.content.width, _loader.content.height, true);
                              bmd.draw(loadedImage, null);
                              this.holder.addChild(createBitmap(bmd));
                    private function createBitmap(bmd:BitmapData):Bitmap
            var bitmap:Bitmap = new Bitmap(bmd);
            bitmap.smoothing = true;
            setSize(bitmap, bmd.width, bmd.height, this.holder.x, this.holder.y);
            return bitmap;
        private function setSize(target:DisplayObject, contentWidth:Number, contentHeight:Number, targetWidth:Number, targetHeight:Number):void
            var w:Number = targetWidth;
            var h:Number = targetHeight;
            // maintain aspect ratio
            var containerRatio:Number = targetWidth / targetHeight;
            var imageRatio:Number = contentWidth / contentHeight;
            if (containerRatio < imageRatio) h = w / imageRatio;
            else                             w = h * imageRatio;
            target.width = w;
            target.height = h;
            //centre content - this might change based on your setup
            target.x = (targetWidth - w) * .5;
            target.y = (targetHeight -h) * .5;

You´re right! It´s happening, the case is my movieclip. I will think about it. I made fell changes in the class, it´s more easy to read. Now, that is the principal methods:
private function onComplete(e:Event):void
                              var w:Number = this.width;
                              var h:Number = this.height;
                              var loadedImage:Bitmap = Bitmap(_loader.content);
                              _ratio = _loader.content.height / _loader.content.width;
                              this.addChild(resizeIt(loadedImage, w, h));
                    private function resizeIt(bitmap:Bitmap, maxW:Number, maxH:Number):Bitmap
                             if (bitmap.width > maxW)
                                   bitmap.width = maxW;
                                   bitmap.height = bitmap.width * _ratio;
                          if (bitmap.height > maxH)
                                 bitmap.height = maxH;
                                bitmap.width = bitmap.height / _ratio;
                          bitmap.smoothing = true;
                           return bitmap;
But I have one more question:
I'm reducing the size of the image to place it in the container. I'm not using scaleX and scaleY. How do I fill the container without losing image quality?

Similar Messages

  • Webcam BitmapData problem

    Hi all,
    I'm trying to make a webcam app, using a microsoft Lifecam
    VX-1000 and Flash Pro 8. It has 320x240 resolution. I capture the
    camera image using
    var image:BitmapData = new BitmapData(_root.view.width,
    _root.view.height);
    image.draw(_root.view);
    where view is my camera object.
    The problem is, in the capture, my image is squished into the
    top left fourth of the screen, and the rest of the capture is white
    space.
    I'm doing image processing, so I need the full resolution.
    An image that explains what I'm talking about:
    http://www.bugsby.net/drive/webcamproblem.jpg
    My project files:
    http://www.bugsby.net/drive/scanner.zip
    Thanks for taking the time!
    matt carlin

    I've run into this as well. It is some ratio between the
    resolution of the camera and the video instance showing it –
    I've actually run into it with an external FLV, but I'm sure it is
    the same issue. I was making that popular reflected video on a
    polished black surface effect. I don't know why it is and I don't
    know how to actually fix the problem, but a patch/bandaid approach
    is:
    bmp = new BitmapData(myVideo._width,myVideo._ height, false,
    0xff0000);
    mtx = new Matrix();
    mtx.scale(myVideo._xscale/100,-myVideo._yscale/100);
    bmp.draw(myVideo,mtx);
    In my case I only created the bitmap and the scale matrix
    once, and then the draw method was called repeatedly later.
    If anybody has an actual solution I would love to fine
    out!

  • Bitmap Alpha Problem

    Hi;
    I'm trying to tweak a script I found online to work for my application.  The problem I am having is to make a certain part of the bitmap that is  created by code transparent...but only a certain part of it. The code  has the following:
    _fire = new BitmapData(865, 92, false, 0xffffff);
    Note
    the alpha flag must be set to false, which is the source of my problem,
    or nothing prints to screen at all. I need to make certain pixels
    transparent. _fire is added to the stage and then called thus:
    _fire.paletteMap(_grey, _grey.rect, ZERO_POINT, _redArray, _greenArray, _blueArray, _alphaArray);
    at the end of the script. The colors for the arrays are created thusly:
    private function _createPalette(idx:int):void {
    _redArray = [];
    _greenArray = [];
    _blueArray = [];
    _alphaArray = [];
    for (var i:int = 0; i < 256; i++) {
    var gp:int = new int();
    gp = _fireColor.getPixel(i, 0);
    if (gp < 1050112)
    _redArray.push(255);
    _alphaArray.push(255);
    } else {
    _redArray.push(gp);
    _alphaArray.push(0);
    _greenArray.push(0);
    _blueArray.push(0);
    I
    added that if clause to capture when the color is black because that's
    where I need to make it transparent. The problem is that where I need it
    to be transparent, it's blue (why blue I don't know). Is there any way
    to make it transparent? The entire code follows.
    TIA,
    George
    package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BlendMode;
    import flash.display.DisplayObject;
    import flash.display.Loader;
    import flash.display.LoaderInfo;
    import flash.display.Sprite;
    import flash.display.StageQuality;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.filters.ColorMatrixFilter;
    import flash.filters.ConvolutionFilter;
    import flash.geom.ColorTransform;
    import flash.geom.Point;
    import flash.system.LoaderContext;
    import flash.net.SharedObject;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
    [SWF(width=465, height=92, backgroundColor=0xffffff, frameRate=30)]
    public class Fire extends Sprite {
    private static const ZERO_POINT:Point = new Point();
    private var _fireColor:BitmapData;
    private var _currentFireColor:int;
    private var _canvas:Sprite;
    private var _grey:BitmapData;
    private var _spread:ConvolutionFilter;
    private var _cooling:BitmapData;
    private var _color:ColorMatrixFilter;
    private var _offset:Array;
    private var _fire:BitmapData;
    private var _redArray:Array;
    private var _zeroArray:Array;
    private var _greenArray:Array;
    private var _blueArray:Array;
    private var _alphaArray:Array;
    public function Fire() {
    //            stage.scaleMode = StageScaleMode.NO_SCALE;
    //            stage.quality = StageQuality.LOW;
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.CO  MPLETE, _onLoaded);
    loader.load(new URLRequest('images/fire-color.png'), new LoaderContext(true));
    private function _onLoaded(e:Event):void {
    _fireColor = Bitmap(LoaderInfo(e.target).loader.content).bitmap  Data;
    _canvas = new Sprite();
    _canvas.graphics.beginFill(0xffffff, 0);
    _canvas.graphics.drawRect(0, 0, 865, 465);
    _canvas.graphics.endFill();
    _canvas.addChild(_createEmitter());
    _grey = new BitmapData(865, 465, false, 0xffffff);
    _spread = new ConvolutionFilter(3, 3, [0, 1, 0,  1, 1, 1,  0, 1, 0], 5);
    _cooling = new BitmapData(865, 465, false, 0xffffff);
    _offset = [new Point(), new Point()];
    _fire = new BitmapData(865, 92, false, 0xffffff);
    addChild(new Bitmap(_fire));
    _createCooling(0.16);
    _createPalette(_currentFireColor = 0);
    addEventListener(Event.ENTER_FRAME, _update);
    //            stage.addEventListener(MouseEvent.CLICK, _onClick);
    private function _onClick(e:MouseEvent):void {
    if (++_currentFireColor == int(_fireColor.height / 32)) {
    _currentFireColor = 0;
    _createPalette(_currentFireColor);
    private function _createEmitter()isplayObject {
    var tf:TextField = new TextField();
    tf.selectable = false;
    tf.autoSize = TextFieldAutoSize.LEFT;
    tf.defaultTextFormat = new TextFormat('Verdana', 80, 0xffffff, true);
    tf.text = '__________________________________________';
    tf.x = (465 - tf.width) / 2;
    tf.y = 0;
    //            tf.y = (465 - tf.height) / 2;
    return tf;
    private function _createCooling(a:Number):void {
    _color = new ColorMatrixFilter([
    a, 0, 0, 0, 0,
    0, a, 0, 0, 0,
    0, 0, a, 0, 0,
    0, 0, 0, 1, 0
    private function _createPalette(idx:int):void {
    _redArray = [];
    _greenArray = [];
    _blueArray = [];
    _alphaArray = [];
    for (var i:int = 0; i < 256; i++) {
    var gp:int = new int();
    gp = _fireColor.getPixel(i, 0);
    if (gp < 1050112)
    _redArray.push(255);
    _alphaArray.push(255);
    _greenArray.push(255);
    _blueArray.push(255);
    } else {
    _redArray.push(gp);
    _alphaArray.push(0);
    _greenArray.push(0);
    _blueArray.push(0);
    private function _update(e:Event):void {
    _grey.draw(_canvas);
    _grey.applyFilter(_grey, _grey.rect, ZERO_POINT, _spread);
    _cooling.perlinNoise(50, 50, 2, 982374, false, false, 0, true, _offset);
    _offset[0].x += 2.0;
    _offset[1].y += 2.0;
    _cooling.applyFilter(_cooling, _cooling.rect, ZERO_POINT, _color);
    _grey.draw(_cooling, null, null, BlendMode.SUBTRACT);
    _grey.scroll(0, -3);
    _fire.paletteMap(_grey, _grey.rect, ZERO_POINT, _redArray, _greenArray, _blueArray, _alphaArray);

    I am importing it into another *.as file:
        import Fire;
           var myFire:Fire = new Fire();
               addChild(myFire);
    TIA,
    beno

  • Selecting Embedded Bitmap Text - Problem

    I tried to create a Flash TextField, containing Text with
    maximum sharpness.
    So i embedded Verdana Font Size 8 as Bitmap Text, and set
    sharpness and thickness to my benefits.
    Now the Text ist displayed cleary, but if you try to select
    or write into the text box it really suxs:
    The Cursor position gets a higher distance to the text while
    the text line gets larger.
    Anyone know this problem, i searched this forum but i didnt
    find a solution about this prob.

    I assume you opened a new Gateway session after you have added that parameter and that you see it in the trace file....
    There's a trial ODBC driver from DataDirect (www.datadirect.com) available for download and which you can test. Check if that driver works. If yes, make sure you have the latest ODBC driver release applied to your env that matches your configuration and if needed ask the ODBC vendor for help.
    - Klaus

  • Bitmap animation problem

    I made an animation with a collection of bitmaps from
    fireworks. I wanted to use it in the "over" state of a button, but
    when I go to swap, all it give me is access to is the 8 bitmaps I
    imported, not the animation/movie clip I want as the over state. Is
    it possible to do what I'm trying to do?

    swap is only for symbol instances.
    ~~~~~~~~~~~~~~~~
    --> Adobe Certified Expert
    --> www.mudbubble.com
    --> www.keyframer.com
    ~~~~~~~~~~~~~~~~
    Sly1211 wrote:
    > I think you gave me my answer. What I was trying to do
    was sawp using a static
    > bitmap rom my animation. Following your advice, I made a
    movie new clip
    > (flash) and swaped in my animation & it worked. The
    animation was off to the
    > side when I rolled over the button, but that I think
    will be an easy fix sice I
    > was just doing it qucik & didn't have the new movie
    clip the correct size.
    > Thanks for your help & I like your web site.
    >

  • Bitmapdata problem

    I've made some charts, and I'm trying to create a way to
    export the chart to an image. I've used this
    http://digg.com/users/Srirangan/news/dugg
    png encoding method, and it works fine when I set the bitmapdata
    object to my chart id :
    var bd:BitmapData = new
    BitmapData(chart_cht.width,chart_cht.height);
    bd.draw(chart_cht);
    But I want to include the text above my chart and the text
    below, so I decided to fill my bitmapdata object with the contents
    of the entire canvas, which contains every object of the
    application. for some reason, no matter what I set the id of my
    canvas to be, it keeps telling me:
    "1120: Access of undefined property canvas_cvs" (or whatever
    i call it)
    I found another example online that uses the same
    functionality
    http://www.jamesward.org/wordpress/2006/08/16/flex-paint-flex-display-object-to-png/
    and I downloaded the source, and it's exactly the same as my code,
    except that the actionscript is included in the start of the mxml
    file and not in an imported .as file.
    Is there any reason why the bitmapdata object will accept a
    chart component as its source and not a canvas? and why would it
    work for someone else and not me, when we do it the exact same
    way?

    Please don't cross post in the forums. I have already started
    to answer this in the Actionscript forums – where such a
    question rightly belongs.

  • DataGrid with Image column rendering problem

    Hi,
    I'm having trouble in getting images displayed on a datagrid
    column. If I scroll down and then scroll up the scrollbar, the
    images are rendering fine. The source of the image is Bitmap which
    is generated at run time. Any idea how to solve this problem? Any
    help is greatly appreciated.
    Thanks,
    Jeesmon
    My component code is pasted below
    "Attach Code"
    <?xml version="1.0" encoding="utf-8"?>
    <mx:DataGrid xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="init()" dataProvider="{cardDataProvider}">
    <mx:Script>
    <![CDATA[
    import mx.core.UIComponent;
    import
    org.eclipse.higgins.cardselector.filters.CustomDropShadowFilter;
    import mx.collections.ArrayCollection;
    import mx.controls.Image;
    import org.eclipse.higgins.cardselector.icard.Card;
    [Bindable]
    private var cardDataProvider:ArrayCollection;
    private var _cards:Array;
    public function get cards():Object {
    return this._cards;
    public function set cards(value:Object):void {
    this._cards = value as Array;
    if(this._cards != null && this._cards.length > 0)
    buildDataProviderArray();
    private function buildDataProviderArray():void {
    var dataArray:ArrayCollection = new ArrayCollection();
    for(var i:int = 0; i<this._cards.length; i++) {
    var card:Card = this._cards
    dataArray.addItem(card);
    this.cardDataProvider = dataArray;
    private function init():void {
    this.styleName = "CardsBox";
    this.width = 200;
    this.rowHeight = 120;
    this.headerHeight = 0;
    this.liveScrolling = true;
    this.filters = [new CustomDropShadowFilter(0x333322, 55,
    2).getInstance()];
    ]]>
    </mx:Script>
    <mx:columns>
    <mx:DataGridColumn sortable="false" editable="false"
    resizable="false">
    <mx:itemRenderer>
    <mx:Component>
    <mx:VBox width="100%" height="100%" paddingLeft="5"
    paddingRight="5" paddingTop="5" paddingBottom="0"
    verticalGap="0">
    <mx:Script>
    <![CDATA[
    import mx.controls.Alert;
    private function getBitmap(value:*) : DisplayObject
    var result:DisplayObject;
    var loader:Loader = Loader(Image(value).getChildAt(0));
    if(loader.contentLoaderInfo.childAllowsParent)
    if(loader.content is Bitmap)
    var bitmap:Bitmap = Bitmap(loader.content);
    result = new
    Bitmap(bitmap.bitmapData,bitmap.pixelSnapping,bitmap.smoothing);
    return result;
    ]]>
    </mx:Script>
    <mx:Image source="{getBitmap(data.getImage())}"
    height="80" width="120" styleName="CardsBoxImage" />
    <mx:Label text="{data.getName()}"
    styleName="CardsBoxLabel" width="100%" />
    </mx:VBox>
    </mx:Component>
    </mx:itemRenderer>
    </mx:DataGridColumn>
    </mx:columns>
    </mx:DataGrid>

    I solved the issue by adding creationComplete event handler
    for the image in the datagrid column
    <mx:Image source="{data.getImage()}" height="80"
    width="120" styleName="CardsBoxImage"
    creationComplete="event.target.source =
    getBitmap(event.target.source)" />

  • BitmapData Resize and rotation

    Hi there,
    I'm having some problems manipulating an image with AS3 and Flash Player 10.
    I've managed to edit a Bitmap from a local image by changing it's size and rotation with the help of class Matrix.
    The problem is that now I want to save the new image to the disk as a PNG file.
    I'm using a PNG as encoder that requires a BitmaData.
    When I passed that Bitmap.bitmapData all of the matrix changes do not get reflected in the bitmapData.
    Here is the code:
    var BMP:Bitmap  = Bitmap (LOADERINFO.content);
          BMP.pixelSnapping = PixelSnapping.ALWAYS;
          BMP.smoothing     = true;
          BMP.bitmapData.lock ();
    var scale:Number = .2;
    var matrix:Matrix = BMP.transform.matrix;
          matrix.rotate(90*(Math.PI/180));
          matrix.scale (scale,scale);
         BMP.transform.matrix = matrix;
    var BMPD:BitmapData = new BitmapData ( BMP.width, BMP.height, true, 0x00000000 );
          BMPD.draw(BMP);
    var BMP2:Bitmap = new Bitmap ( BMPD, PixelSnapping.ALWAYS, true );
    // JUST TO TEST
    addChild (BMP);
    addChild (BMP2);
    Thanks,
    PM

    oops, typo:
    kglad wrote:
    try:
    var BMP:Bitmap  = Bitmap (LOADERINFO.content);
          BMP.pixelSnapping = PixelSnapping.ALWAYS;
          BMP.smoothing     = true;
          BMP.bitmapData.lock ();
    var scale:Number = .2;
    var matrix:Matrix = BMP.transform.matrix;
          matrix.rotate(90*(Math.PI/180));
          matrix.scale (scale,scale);
         BMP.transform.matrix = matrix;
    var BMPD:BitmapData = new BitmapData ( BMP.width, BMP.height, true, 0x00000000 );
          BMPD.draw(BMP,matrix);
    var BMP2:Bitmap= new Bitmap(BMPD);
    // JUST TO TEST
    addChild (BMP);
    addChild (BMP2);

  • Loader changes the pixel value after loading as bitmap

    Hi all,
    My aim is to load two images and compare its color information pixel by pixel. For this purpose i used "flash.display.Loader" class to load the images, and once load completes i'll typecast the loaded content to bitmap object (loaderObj.content as Bitmap). Finally i'll get the bitmapdata from the bitmap of both the images and compare the pixels.
    Now the problem is the color information of the original image and the loaded bitmap is slightly different. For example the color value of pixels of the attached image image1.jpg is 0xDDDDDD for complete 1366x768. And for the same image when it is loaded as bitmap the color value of pixels are different from the original value (For some pixels only, not all pixels are different).
    I’ve given the source code and sample images.
    Please can anyone help me out how to resolve this issue?
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                         xmlns:s="library://ns.adobe.com/flex/spark"
                                                         xmlns:mx="library://ns.adobe.com/flex/mx"
                                                         width="1376" height="800"
                                                         showStatusBar="false">
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
              <fx:Script>
                        <![CDATA[
                                  private function loadBtn_ClickHandler():void{
                                            var file:File = new File(File.desktopDirectory.nativePath);
                                            file.addEventListener(Event.SELECT, onFileSelectionHandler);
                                            file.browseForOpen("Open an image",[new FileFilter("Images", "*.jpg;*.gif;*.png;*.jpeg")]);
                                  private function onFileSelectionHandler(ev:Event):void{
                                            var loadedFilePath:String = (ev.target as File).nativePath;
                                            loadImageAsBitmap(loadedFilePath);
                                  /* Load image as bitmap using Loader */
                                  private function loadImageAsBitmap(url:String):void{
                                            var loader:Loader = new Loader();
                                            // load content as bitmap
                                            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onContentLoadComplete);
                                            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onContentLoadFail);
                                            loader.load(new URLRequest(url));
                                  private function onContentLoadComplete(ev:Event):void{
                                            var loaderInfo:LoaderInfo = ev.target as LoaderInfo;
                                            var bitmap:Bitmap = loaderInfo.content as Bitmap;
                                            printPixelValue(bitmap.bitmapData);
                                            container_ID.addChild(bitmap);
                                  private function onContentLoadFail(ioe:IOErrorEvent):void{
                                            trace("Image Load Failed");
                                  private function printPixelValue(bmData:BitmapData):void{
                                            var initPixelValue:Number = -1;
                                            //for (var countI:int = 0; countI < bmData.height; countI++) {
                                            var countI:int = 1;
                                            for (var countJ:int = 0; countJ < bmData.width; countJ++) {
                                                      var pixelValue:Number = bmData.getPixel32(countJ, countI);
                                                      if(pixelValue != initPixelValue){
                                                                initPixelValue = pixelValue;
                                                                // Print the pixel value only for one row
                                                                trace("Pixel Value at " + countI + "x" + countJ + " is: " + pixelValue);
                                            trace("Pixel Value at " + countI + "x" + countJ + " is: " + pixelValue);
                        ]]>
              </fx:Script>
              <s:Button id="loadBtn_ID" label="Load!" click="loadBtn_ClickHandler()"
                                    x="5" y="5" height="20"/>
              <mx:UIComponent id="container_ID" x="5" y="30" width="1366" height="768"/>
    </s:WindowedApplication>
    Sample Image:

    Thanks all,
    Updating the sdk to 4.6.0 fixed the issue

  • Problem with slide

    Hi, I'm using some action script code for a slide. The problem is that when a smaller image is loaded, the big one stays behind for one slide more. Maybe this happens with all slides but is only visible when a smaller one is loaded... What could be done? The code is:
    // import tweener
    import caurina.transitions.Tweener;
    // delay between slides
    const TIMER_DELAY:int = 5000;
    // fade time between slides
    const FADE_TIME:Number = 1;
    // flag for knowing if slideshow is playing
    var bolPlaying:Boolean = true;
    // reference to the current slider container
    var currentContainer:Sprite;
    // index of the current slide
    var intCurrentSlide:int = -1;
    // total slides
    var intSlideCount:int;
    // timer for switching slides
    var slideTimer:Timer;
    // slides holder
    var sprContainer1:Sprite;
    var sprContainer2:Sprite;
    // slides loader
    var slideLoader:Loader;
    // current slide link
    var strLink:String = "";
    // current slide link target
    var strTarget:String = "";
    // url to slideshow xml
    var strXMLPath:String = "slideshow-data.xml";
    // slideshow xml loader
    var xmlLoader:URLLoader;
    // slideshow xml
    var xmlSlideshow:XML;
    function initSlideshow():void {
        // hide buttons, labels and link
        mcInfo.visible = false;
        btnLink.visible = false;
        // create new urlloader for xml file
        xmlLoader = new URLLoader();
        // add listener for complete event
        xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
        // load xml file
        xmlLoader.load(new URLRequest(strXMLPath));
        // create new timer with delay from constant
        slideTimer = new Timer(TIMER_DELAY);
        // add event listener for timer event
        slideTimer.addEventListener(TimerEvent.TIMER, nextSlide);
        // create 2 container sprite which will hold the slides and
        // add them to the masked movieclip
        sprContainer1 = new Sprite();
        sprContainer2 = new Sprite();
        mcSlideHolder.addChild(sprContainer1);
        mcSlideHolder.addChild(sprContainer2);
        // keep a reference of the container which is currently
        // in the front
        currentContainer = sprContainer2;
        // add event listeners for buttons
        btnLink.addEventListener(MouseEvent.CLICK, goToWebsite);
        mcInfo.btnNext.addEventListener(MouseEvent.CLICK, nextSlide);
        mcInfo.btnPrevious.addEventListener(MouseEvent.CLICK, previousSlide);
    function onXMLLoadComplete(e:Event):void {
        // show buttons, labels and link
        mcInfo.visible = true;
        btnLink.visible = true;   
        // create new xml with the received data
        xmlSlideshow = new XML(e.target.data);
        // get total slide count
        intSlideCount = xmlSlideshow..image.length();
        // switch the first slide without a delay
        switchSlide(0);
    function fadeSlideIn(e:Event):void {
        // add loaded slide from slide loader to the
        // current container
        addSlideContent();
        // fade the current container in and start the slide timer
        // when the tween is finished
        Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:onSlideFadeIn});
    function onSlideFadeIn():void {
        // check, if the slideshow is currently playing
        // if so, start the timer again
        if(bolPlaying && !slideTimer.running)
            slideTimer.start();
    function switchSlide(intSlide:int):void {
        // check if the last slide is still fading in
        if(!Tweener.isTweening(currentContainer)) {
            // check, if the timer is running (needed for the
            // very first switch of the slide)
            if(slideTimer.running)
                slideTimer.stop();
            // change slide index
            intCurrentSlide = intSlide;
            // check which container is currently in the front and
            // assign currentContainer to the one that's in the back with
            // the old slide
            if(currentContainer == sprContainer2)
                currentContainer = sprContainer1;
            else
                currentContainer = sprContainer2;
            // hide the old slide
            currentContainer.alpha = 0;
            // bring the old slide to the front
            mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
            // delete loaded content
            clearLoader();
            // create a new loader for the slide
            slideLoader = new Loader();
            // add event listener when slide is loaded
            slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
            // load the next slide
            slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
            // show description of the next slide
            mcInfo.lbl_description.text = xmlSlideshow..image[intCurrentSlide].@title;
            // set link and link target variable of the slide
            strLink                                            = xmlSlideshow..image[intCurrentSlide].@link;
            strTarget                                        = xmlSlideshow..image[intCurrentSlide].@target;
            mcInfo.mcDescription.lbl_description.htmlText    = xmlSlideshow..image[intCurrentSlide].@desc;
            // show current slide and total slides
            mcInfo.lbl_count.text = (intCurrentSlide + 1);
    function goToWebsite(e:MouseEvent):void {
        // check if the strLink is not empty and open the link in the
        // defined target window
        if(strLink != "" && strLink != null) {
            navigateToURL(new URLRequest(strLink), strTarget);
    function nextSlide(e:Event = null):void {
        // check, if there are any slides left, if so, increment slide
        // index
        if(intCurrentSlide + 1 < intSlideCount)
            switchSlide(intCurrentSlide + 1);
        // if not, start slideshow from beginning
        else
            switchSlide(0);
    function previousSlide(e:Event = null):void {
        // check, if there are any slides left, if so, decrement slide
        // index
        if(intCurrentSlide - 1 >= 0)
            switchSlide(intCurrentSlide - 1);
        // if not, start slideshow from the last slide
        else
            switchSlide(intSlideCount - 1);
    function clearLoader():void {
        try {
            // get loader info object
            var li:LoaderInfo = slideLoader.contentLoaderInfo;
            // check if content is bitmap and delete it
            if(li.childAllowsParent && li.content is Bitmap){
                (li.content as Bitmap).bitmapData.dispose();
        } catch(e:*) {}
    function addSlideContent():void {
        // empty current slide and delete previous bitmap
        while(currentContainer.numChildren){Bitmap(currentContainer.getChildAt(0)).bitmapData.dis pose(); currentContainer.removeChildAt(0);}
        // create a new bitmap with the slider content, clone it and add it to the slider container
        var bitMp:Bitmap =  new Bitmap(Bitmap(slideLoader.contentLoaderInfo.content).bitmapData.clone());
        currentContainer.addChild(bitMp);
    // init slideshow
    initSlideshow();

    you should check the memory usage with that code.  it looks like that's not well-written code.
    but to do what you want:
    // import tweener
    import caurina.transitions.Tweener;
    import flash.display.Sprite;
    // delay between slides
    const TIMER_DELAY:int = 5000;
    // fade time between slides
    const FADE_TIME:Number = 1;
    // flag for knowing if slideshow is playing
    var bolPlaying:Boolean = true;
    // reference to the current slider container
    var currentContainer:Sprite;
    // index of the current slide
    var previousContainer:Sprite;
    var intCurrentSlide:int = -1;
    // total slides
    var intSlideCount:int;
    // timer for switching slides
    var slideTimer:Timer;
    // slides holder
    var sprContainer1:Sprite;
    var sprContainer2:Sprite;
    // slides loader
    var slideLoader:Loader;
    // current slide link
    var strLink:String = "";
    // current slide link target
    var strTarget:String = "";
    // url to slideshow xml
    var strXMLPath:String = "slideshow-data.xml";
    // slideshow xml loader
    var xmlLoader:URLLoader;
    // slideshow xml
    var xmlSlideshow:XML;
    function initSlideshow():void {
        // hide buttons, labels and link
        mcInfo.visible = false;
        btnLink.visible = false;
        // create new urlloader for xml file
        xmlLoader = new URLLoader();
        // add listener for complete event
        xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
        // load xml file
        xmlLoader.load(new URLRequest(strXMLPath));
        // create new timer with delay from constant
        slideTimer = new Timer(TIMER_DELAY);
        // add event listener for timer event
        slideTimer.addEventListener(TimerEvent.TIMER, nextSlide);
        // create 2 container sprite which will hold the slides and
        // add them to the masked movieclip
        sprContainer1 = new Sprite();
        sprContainer2 = new Sprite();
        mcSlideHolder.addChild(sprContainer1);
        mcSlideHolder.addChild(sprContainer2);
        // keep a reference of the container which is currently
        // in the front
        currentContainer = sprContainer2;
        // add event listeners for buttons
        btnLink.addEventListener(MouseEvent.CLICK, goToWebsite);
        mcInfo.btnNext.addEventListener(MouseEvent.CLICK, nextSlide);
        mcInfo.btnPrevious.addEventListener(MouseEvent.CLICK, previousSlide);
    function onXMLLoadComplete(e:Event):void {
        // show buttons, labels and link
        mcInfo.visible = true;
        btnLink.visible = true;  
        // create new xml with the received data
        xmlSlideshow = new XML(e.target.data);
        // get total slide count
        intSlideCount = xmlSlideshow..image.length();
        // switch the first slide without a delay
        switchSlide(0);
    function fadeSlideIn(e:Event):void {
        // add loaded slide from slide loader to the
        // current container
        addSlideContent();
       fadeSlideOut();
        // fade the current container in and start the slide timer
        // when the tween is finished
        Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:onSlideFadeIn});
    function fadeSlideOut(e:Event):void {
        Tweener.addTween(previousContainer, {alpha:0, time:FADE_TIME});
    function onSlideFadeIn():void {
        // check, if the slideshow is currently playing
        // if so, start the timer again
        if(bolPlaying && !slideTimer.running)
            slideTimer.start();
    function switchSlide(intSlide:int):void {
        // check if the last slide is still fading in
        if(!Tweener.isTweening(currentContainer)) {
            // check, if the timer is running (needed for the
            // very first switch of the slide)
            if(slideTimer.running)
                slideTimer.stop();
            // change slide index
            intCurrentSlide = intSlide;
            // check which container is currently in the front and
            // assign currentContainer to the one that's in the back with
            // the old slide
           previousContainer = currentContainer;
            if(currentContainer == sprContainer2)
                currentContainer = sprContainer1;
            else
                currentContainer = sprContainer2;
            // hide the old slide
            currentContainer.alpha = 0;
            // bring the old slide to the front
            mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
            // delete loaded content
            clearLoader();
            // create a new loader for the slide
            slideLoader = new Loader();
            // add event listener when slide is loaded
            slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
            // load the next slide
            slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
            // show description of the next slide
            mcInfo.lbl_description.text = xmlSlideshow..image[intCurrentSlide].@title;
            // set link and link target variable of the slide
            strLink                                            = xmlSlideshow..image[intCurrentSlide].@link;
            strTarget                                        = xmlSlideshow..image[intCurrentSlide].@target;
            mcInfo.mcDescription.lbl_description.htmlText    = xmlSlideshow..image[intCurrentSlide].@desc;
            // show current slide and total slides
            mcInfo.lbl_count.text = (intCurrentSlide + 1);
    function goToWebsite(e:MouseEvent):void {
        // check if the strLink is not empty and open the link in the
        // defined target window
        if(strLink != "" && strLink != null) {
            navigateToURL(new URLRequest(strLink), strTarget);
    function nextSlide(e:Event = null):void {
        // check, if there are any slides left, if so, increment slide
        // index
        if(intCurrentSlide + 1 < intSlideCount)
            switchSlide(intCurrentSlide + 1);
        // if not, start slideshow from beginning
        else
            switchSlide(0);
    function previousSlide(e:Event = null):void {
        // check, if there are any slides left, if so, decrement slide
        // index
        if(intCurrentSlide - 1 >= 0)
            switchSlide(intCurrentSlide - 1);
        // if not, start slideshow from the last slide
        else
            switchSlide(intSlideCount - 1);
    function clearLoader():void {
        try {
            // get loader info object
            var li:LoaderInfo = slideLoader.contentLoaderInfo;
            // check if content is bitmap and delete it
            if(li.childAllowsParent && li.content is Bitmap){
                (li.content as Bitmap).bitmapData.dispose();
        } catch(e:*) {}
    function addSlideContent():void {
        // empty current slide and delete previous bitmap
        while(currentContainer.numChildren){Bitmap(currentContainer.getChildAt(0)).bitmapData.dis pose(); currentContainer.removeChildAt(0);}
        // create a new bitmap with the slider content, clone it and add it to the slider container
        var bitMp:Bitmap =  new Bitmap(Bitmap(slideLoader.contentLoaderInfo.content).bitmapData.clone());
        currentContainer.addChild(bitMp);
    // init slideshow
    initSlideshow();

  • Changing Bitmap Color using colorTransform

    I am having a bit of a problem where I have a function that takes a ColorPickerEvent. I am trying to colorTransform a "loaded bitmap" of a movieclip to the selected color but For some reason it is not setting
    // colour
    function setColourFor(e:ColorPickerEvent){
              var image:InteractivePNG = getChildByName(type) as InteractivePNG; // movieClip
              var bitmap:Bitmap = image.getChildAt(0) as Bitmap; // loaded PNG
                   var c:ColorTransform = bitmap.transform.colorTransform;
              bitmap.transform.colorTransform = new ColorTransform();
              c.color = e.color; // colorpickerevent
              bitmap.transform.colorTransform = c;
    the bitmap color doesn't seem to change.
    It works however if I were to set the movieclip's colorTransform (var image)
    I'd note that the Bitmap contains PNG' with some transparency

    hi
    change the last line of your function to:
    bitmap.transform.colourTransform(bitmap.bitmapData.rect, c);
    the first parameter is a Rectangle object defining the area of the bitmap that the transform affects

  • Canvas Hierarchy to BitmapData

    I'm trying to capture the graphic contents of a hierarchy of Canvases to a BitmapData. I'm using BitmapData.draw and passing it the Canvas that contains the hierarchy. However I am only capturing the contents of the root Canvas's Graphics object. None of the contained objects are showing up in the BitmapData. I am creating a hierarchy of Canvases in order to get graphics effects (drawing with a hierarchy of clipping paths) that I can't do in a single Graphics object. Is there any way to flatten this out to a single bitmap?
    David

    Hi,
    Although I dont understand your problem properly,but still trying to Resolve it.
    Below is the code in which I am having a canvas inside canvas and so on.
    Then I am capturing the bitmapdata of the outer canvas, and creating a new Image
    with that bitmapdata.It is creating the same childeren heerarchy as is in the
    oringional Canvas.The code is below.
    Main.MXML
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
    <mx:Script>
    <![CDATA[
    import mx.core.UIComponent;
    public function CreateBitmapImage() : BitmapData
    var bitmapData:BitmapData = getBitmapData( UIComponent( sourceCanvas ) );
    targetImage.source = new Bitmap( bitmapData );
    return bitmapData;
    private function getBitmapData( target : UIComponent ) : BitmapData
    var bitmapData : BitmapData = new BitmapData( target.width, target.height,true, 0x00000000);
    bitmapData.draw( target );
    return bitmapData;
    ]]>
    </mx:Script>
    <mx:Canvas id="sourceCanvas" width="500" height="500" backgroundColor="0xFFFFFF">
    <mx:Canvas width="400" height="400" backgroundColor="0xFF0000">
    <mx:Canvas width="300" height="300" backgroundColor="0x000FF00">
    <mx:Canvas width="200" height="200" backgroundColor="0x0000FF"/>
    </mx:Canvas>
    </mx:Canvas>
    </mx:Canvas>
    <!--This will be the Image Created by the BitmapData of the 'sourceCanvas'.-->
    <mx:Image id="targetImage" creationComplete="CreateBitmapImage()"/>
    </mx:Application>
    Pls let me know if you have any problem,or i am unable to understand ur problem.
    Shardul Singh Bartwal

  • Problem with scanning in PS CS6 - scanning process crashes

    Hi.
    Here is my hardware:
       Macbook pro 4 GB DDR3 core i5 with plenty of HD space
       Epson V700 scanner (6400 dpi scanning capability)
    My Software:
       Adobe CS6 trial
    What I want to do:
       Scan a typical photo that is 6 by 6 inches at 6400 dpi as a bitmap, for utmost quality
    What I tried:
       File -> Import -> Images from device -> then selected my scanner, set it to scan at 6400 dpi and save as a bitmap
    My problem:
        When the scanner head is done scanning and the progress bar for scanning the image completes and moves to the next step (presumably writing the image to the file), PS crashes and gives me an error log. It is far too detailed for me. I have no problem scanning images at lower resolutions like 1200 dpi. But this scanner is capable of 6400 dpi and I want to take full advantage of it. I cannot use the scanner software that came with teh scanner because tech support told me the scanner software has a 1.something GB file limit size. They told me 3rd party software like PS should be able to scan unlimited file sizes.
       I suspect the file size migh be too large (16 GB)
    My question:
       Is this a bug in the trial or something? Should PS be able to scan a 6 by 6 inch photo at 6400 dpi and save it as a bitmap?
    Any 1st thoughts? I imagine it would be useful to upload the error log. I can do that if it is ok to do so
    Thanks, your help is appreciated since I would lik eto scan this image at 6400 dpi. If I am given a solution, I will probably buy the full version

    I downloaded and placed the new Mac plugin that PDFerguson was talking about. I also made sure I had the latest drivers from EPson. I have the same problem. I tried a couple of different file formats, like TIFF (at 6400 dpi and billions of colors) and while "reading the TIFF file" it stops and tells me : "Could not complete your request because of a problem parsing the TIFF file.". Just to note, I scan to a new PS document, so it seems like it has scanned the image, but after a certain file size the driver/PS messes up the creation of the file. Then when PS reads that image data that it just made in some temporary location (which I am presuming is an improper image) into a new document (I say this because when PS opens a file it says "reading blah blah"), the parser (JPG, TIFF, etc....) crashes somewhere in the process of reading the file that it just wrote to temporary disk space into a new PS document.
    Because of these facts, I am led to believe that there seems to be some size limit after which PS or whatever is writing the temporarily scanned file where this file becomes corrupt. My suspicion of this as the cause of the problem is made darker from this experience: when I use the Apple OS scanning utility, and scan it at the dpi and color depth at which PS crashes, the apple utility does not crash, but instead produces a corrupt file on my disk. I say it is corrupt becasue the file is all black or white and has no scanned information. Likewise, when PS tries to open up those images, its parser for a particular file type fails, probably because it encounters an error.
    That sounds confusing so here is a diagram:
    Scanner invoked in PS => scans successfully at 6400 dpi and writes image data to scratch disk space (but this data is corrupt) =>PS tries to make a new document by reading this image data like it would open up a file from disk, using the appropriate format parser => because the iage data on scratch disk has been corrupted, the parser crashes as it encounters bad format data.
    When I ask PS to scan into BMP files, I get a vague error, which I presume is becasue the parser for BMP is quite primitive and will cast bad data as pixels anyways?
    From all this experimentation this is what I have concluded. The problem doesnt seem to be with how much RAM I have, or teh scanner driver itself, but the step where the software writes the scanned image data temporarily to disk (and messes up in doing so), causing any further image saving steps to fail, because the parser encounters an exception.
    Any thoughts from the engineers?

  • Problem with scanning in PS CS6

    Hi.
    Here is my hardware:
       Macbook pro 4 GB DDR3 core i5 with plenty of HD space
       Epson V700 scanner (6400 dpi scanning capability)
    My Software:
       Adobe CS6 trial
    What I want to do:
       Scan a typical photo that is 6 by 6 inches at 6400 dpi as a bitmap, for utmost quality
    What I tried:
       File -> Import -> Images from device -> then selected my scanner, set it to scan at 6400 dpi and save as a bitmap
    My problem:
        When the scanner head is done scanning and the progress bar for scanning the image completes and moves to the next step (presumably writing the image to the file), PS crashes and gives me an error log. It is far too detailed for me. I have no problem scanning images at lower resolutions like 1200 dpi. But this scanner is capable of 6400 dpi and I want to take full advantage of it. I cannot use the scanner software that came with teh scanner because tech support told me the scanner software has a 1.something GB file limit size. They told me 3rd party software like PS should be able to scan unlimited file sizes.
       I suspect the file size migh be too large (16 GB)
    My question:
       Is this a bug in the trial or something? Should PS be able to scan a 6 by 6 inch photo at 6400 dpi and save it as a bitmap?
    Any 1st thoughts? I imagine it would be useful to upload the error log. I can do that if it is ok to do so
    Thanks, your help is appreciated since I would lik eto scan this image at 6400 dpi. If I am given a solution, I will probably buy the full version

    Hi,
    I am sorry to hear that you are facing issues with PS. But you have posted this question on Acrobat Forum. People joined here have expertise in Acrobat only. Kindly post the same on http://forums.adobe.com/community/photoshop/general to get it addressed by PS experts.
    ~Sandeep V.

  • JPG to BMP conversion problems...

    Hi folks, I'm having a bit of trouble. I can't see why BufferedImage img is returning null. Can anyone spot anything?
        private void convertImages() {
            //Read all the files in a given directory in.  If they are images then convert them.
            File file;
            JFileChooser fc = new JFileChooser();
            fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            int returnVal = fc.showOpenDialog(fc);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                file = fc.getSelectedFile();      // Get directory to file.
                File[] files = file.listFiles();  // Get file array
                outputField.setText("");
                outputField.append("Converting all images in " + file.getPath() +
                        "to bitmap images.\n  Images will be saved in "
                        + file.getParentFile().getPath() + File.separator + "rawdata.\n");
                File outputdirectory = null;
                if(new File(file.getParentFile().getPath()+File.separator+"rawdata").mkdir() || new File(file.getParentFile().getPath()+File.separator+"rawdata").exists()){
                    outputdirectory = new File(file.getParentFile().getPath()+File.separator+"rawdata");
                    outputField.append("Created directory: " + outputdirectory.getPath()+"\n");
                } else {
                    outputField.append("Unable to create a rawdata directory.");
                    return;
                for(File image_file : files){
                    if(isImage(image_file)){
                        outputField.append("Converting " + image_file.getName() + " to bitmap.\n");
                        try {
                            img = ImageIO.read(image_file);
                            output = new File(outputdirectory.getPath()+File.separator+image_file.getName()+".bmp");
                            ImageIO.write(img, "bmp", output);
                            img.flush();
                        } catch (IOException ex) {
                            outputField.append("Problem when trying to convert file: " + image_file.getName() + "\n");
                        } catch (IllegalArgumentException e){
                            e.printStackTrace();
                            outputField.append("Problem with image file. \n");
                    } else {
                        outputField.append("Ignored file " + image_file.getName() + " because it is not an image.\n");
                outputField.append("Job done.\n");
        }I'm getting this output:
    Converting all images in F:\Documents and Settings\Eric\My Documents\testnewto bitmap images.
      Images will be saved in F:\Documents and Settings\Eric\My Documents\rawdata.
    Created directory: F:\Documents and Settings\Eric\My Documents\rawdata
    Ignored file .DS_Store because it is not an image.
    Ignored file ._.DS_Store because it is not an image.
    Converting 1.jpg to bitmap.
    Problem with image file.
    Converting 2.jpg to bitmap.
    Problem with image file.
    Converting 3.jpg to bitmap.
    Problem with image file.
    Converting 4.jpg to bitmap.
    Problem with image file.
    Converting 5.jpg to bitmap.
    Problem with image file.
    Ignored file Results because it is not an image.
    Ignored file testnewtrain.txt because it is not an image.
    Ignored file Thumbs.db because it is not an image.
    Ignored file train.txt because it is not an image.
    Job done.And an error:
    java.lang.IllegalArgumentException: im == null!
            at javax.imageio.ImageIO.write(ImageIO.java:1457)
            at javax.imageio.ImageIO.write(ImageIO.java:1521)Obviously, for whatever reason img isn't initialising, but I can't see why not. It's probably something silly. Any suggestions?
    Eric
    Edited by: escocialite on Apr 9, 2008 2:42 PM

    Obviously, for whatever reason img isn't initialising, but I can't see why not.I ran your code through a test, and as expected, it performed flawlessly.
    It's probably something silly.Can't tell, since it worked for me.
    Any suggestions?Run this SSCCE which works flawlessly or me and see how it works for you.
    package graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JFileChooser;
    public class LoadAndSaveImage {
       public void convertImages() {
          JFileChooser chooser = new JFileChooser();
          chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
          chooser.showOpenDialog(null);
          File folder = chooser.getSelectedFile();
          File[] files = folder.listFiles();
          for (File file : files) {
             String name = file.getName();
             if (name.endsWith("jpg") || name.endsWith("JPG")) {
                BufferedImage img = null;
                File outFile = new File(folder.getPath() + File.separator + name + ".bmp");
                try {
                   img = ImageIO.read(file);
                   ImageIO.write(img, "bmp", outFile);
                   img.flush();
                } catch (IOException ex) {
                   ex.printStackTrace();
       public static void main(String[] args) {
          new LoadAndSaveImage().convertImages();
    }luck, db

Maybe you are looking for

  • How to keep XML file in memory for specified period ?

    How to keep XML file in memory for specified period or forever, I have 5 applications running on WebSphere I wants to use XML file for all the applications. I mean when one apllication is not using XML file still I wants to keep it in memory ... Than

  • Nikon Coolpix 990 not supported in iPhoto 11 v9.4.2 on OS x 10.8.2

    I am running Mountain Lion and Snow Leopard in separate partitions on the same iMac(Intel i3).  I can import photos from my Nikon Coolpix 990 camera using iPhoto 11 v 9.2.3 running on Snow Leopard.  I cannot import photos when running iPhoto 11 v 0.4

  • Hooking up a NEW Nano (3rd Gen)

    Hello All, I recently got an Ipod Nano. Hooked it up to my Vista machine and it worked great for about 1 week. Then had issues, anyway ended up returning the Nano and getting a new one...same 8 gig model. Anyway, how do I go about hooking up that new

  • Finding custom prices for customer based on district (abap-query).

    Hello. I can find in table A601-BZIRK the District-number, which i also can find on the customer in BP in CRM (we have both CRM and ERP). I want to make a query in SQ02, where i enter the customer-number, and gets the list of materials they have cust

  • Can BPEL retry consuming message from JMS Q Infinite times after rollback?

    Hi Guys, I have a scenario where a simple BPEL 11g with a throw consumes messages from a JMS queue. If some error occurs the message would be rolled back to JMS queue. I want to configure the BPEL in such a way that the BPEL would retry to consume th