Combining a chart's image JPEG with a text label?

Hi
I am creating a JPEG file of a chart's plot. This works fine using the 'Write JPEG File'.
As I have 8 charts in the VI to save to file, I have identified eact one using the label text. This appears OK when running but after saving the charts to file there is just a black rectangle (see attachment.
Anyway around this?
Thanks Harry.
Attachments:
PARR1_91420071355.jpg ‏23 KB

This is because the background color defaults to black.
Wire a color box to the BG Color input of the Get Image method.
Or, make the label white.
Or, use a purple or green color as background, and Create Mask to mask out
that color.
Or, put the label on the graph instead of above it.
Regards,
Wiebe.

Similar Messages

  • How Do You Make an Image Flow with the Text?

    Hello all,
    I am using CS4 InDesign on Windows Vista. I am fairly new to Indesign but try to do my research and homework well before asking what I hope is not a really dumb question.
    I am writing a book of approx. 350 pages that is an illustrated encyclopedia of 156 plants and their oils.
    Each 2 page spread is a single entry for a plant. The graphics frames on each spread are identical in size, position and styles for a consistent look throughout the document.As you can see (hopefully) each page is a single column. See screenshot below
    In order to overcome my first problem of positioning and sizing the graphics frames uniformly, I created the master pages with the graphics placeholders sized, positioned and formatted to my liking. This worked wonderfully and I placed all of my 300+ graphics by simply over riding each frame.
    Then in my editing I decided to add another 2 page spread somewhere in the middle of this fairly large document.
    What a NIGHTMARE. The text predictably shifted but now ALL of my graphics were no longer associated with the corresponding text! Arrrgghhh.I had not anticipated this behavior (used MS Word for 15 years) or I would have done something different.
    3 hours later I finished re -"placing" the images associated with the correct text.
    I researched the help file and found out about the neccessity of anchoring graphics to text. I have read through the threads in this forum, followed links to "indesignsecrets.com/make-an-image-flow-with-the-text" and " Working with anchored objects by Anne Marie Concepcion"
    My concerns are this.
    An inline graphic places the graphic back onto your text layer for some reason ( Previously my graphics each had their own layer)
    Not wanting to start (again) from scratch with my graphics I converted them to inline/custom anchored objects.
    But to select then cut then paste every pre existing graphic to anchor it inline seems to be cumbersome and counter intuitive although the top smaller graphic did position well and the text seemed to wrap ok.
    When I placed the larger bottom graphic on the left facing page using custom positioning I was not able to get the text to wrap at all.( The in line anchoring did not seem to allow for positioning on anything but the 'Y' axis).
    It seems that there would be a simpler way to place text and graphics where you want them and have them associate and flow together (or not) when you want them to and have text wrap easily around an anchored object without keyboard gymnastics. It would seem that the concept of a certain graphic being associated or linked with certain text would not be an unusual concept in desktop publishing.
    Am I missing something?
    Can you place an anchored graphics frame on the master page with your desired options?
    How would this be done if possible?
    Is there any other way (i.e grouping) to keep graphics associated with the desired text so that it flows together if extra pages are added?
    Is the fact that my graphics frames are on my master pages responsible for my text wrap difficulty? (I have text wrap enabled on my master pages)
    Are there any settings, redundant or otherwise, I need to be aware of?
    Thank you in advance for any suggestions or directions
    L.N.

    Hello Again,
    Thank You Bob but I am still a little fuzzy on this. I have already created object styles for the graphics frames. For instance the small graphic underneath the heading (Its a drop of oil) has an object style applied. Now I checked and it has the anchored object options checked in the style dialog box. When I reapply the style to the next similar graphics nothing happens. It is still not anchored. Do I need to create a new style based on "nothing" add my effects plus the anchoring options? Basically start over. If thats what I need to do thats OK. As to your instruction that object styles could accomodate this anchoring thing...thats what I thought too but somehow I can't get it to work. See object style dialog box screenshot below:
    For the larger graphic on the bottom of the left facing page. I still cannot get any text to wrap. In the screenshot example the text describing this particular plant doesn't go to the bottom of the page so the wrapping issue on this page is moot. However I have some entries where the body of the description is more involved and does go to the bottom of the page and the text WOULD need to wrap around the plant (larger ) graphic.
    Hi there Harb, Yes I found out early on that object styles can't apply size (that would be on my wish list for sure) That is why I found that creating my graphics frames on the master page with the correct size, effects and positioning tickled me so much. Can you believe I originally went through and MANUALLY resized and repositioned each and every 300+ graphics in this book but it still wasn't right. I'm nothing if not persistent. (Now if I could just get my grown sons to pick up their socks!)
    Anyway the master page graphics frames idea would be perfect if I could get the images to anchor in their respective spots on the master page as well.
    For your second suggestion. I am not clear about why I would need to break the threads of each spread so that each spread is a seperate article. Is the threading issue the thing that is causing my text to move on leaving their associated graphics behind? If so how do I go about doing this?
    So to recap:
    1. I need to know if I can modify my object style or recreate from scratch with the anchoring option (as I said it didn't work)
    2. Can't get text to wrap around the Custom anchored graphic at bottom of page at all
    3. Im not clear on the breaking the threading on the spreads
    I am willing to go back through and start from scratch (new master pages, styles etc ) if neccesary. This book is the culmination of 7 years of research and artwork.Basically the project is DONE. Now if I can just format it correctly.
    I can't thank you both enough for your time, suggestions, expertise and patience.
    Thanks again
    LN

  • Help!  Question, how do I move an image along with the text

    New to InDesign and I'm creating a how-to brochure of sorts for my business and as I'm making edits/updates I realize I need to insert another picture at the beginning of the document.  I already have a bunch of other images throughout the document in specific places that need to remain with the text they are wrapped around.  If I try to insert a new picture at the beginning of the document and wrap the text, all of the text moves down throughout the document but the images do not.  That means none of the images are in the correct place anymore.  Is there a way to make sure if I insert a new picture or text at any place in the document all of the following images move with the text they are by?  I'm sure its a simple fix, I just can't figure it out.  Thanks.

    Look into anchored objects.

  • How do I have an image move with a text box?

    I need to embed an image within a text box so that when I add additional text in the future, the image moves with the text that surrounds it.
    For example, if I have a paragraph of text, then on the following line vertically I have an image, then on the following line another paragraph of text ... When I add additional paragraphs of text above the image, how can I have the image track down to stay between the original two paragraphs of text?

    Thanks Zak!  I figured that out but now have another problem that I just posted. The app keeps locking up when I try to export HTML or upload my site to the server. Please give me any advise on how to handle it.
    Here's my other post:
    Hi,
    I just upgraded to the latest version of Muse. I made a few changes to my site and I'm trying to export the HTML. I've now tried 3 times and the app locks up at 89%. It completes all pages, but locks up there. When I look into the Muse Export folder, there is nothing there. The window reads "Finishing export" but it stays at that point for more than an hour when I finally give up and force quit.
    Any ideas? Anyone else having this issue? Any ideas on how to get my HTML exported successfully?
    Thanks in advance for any help!
    Reply
    27 Views   2 Replies   Latest reply: amchambers,      May 26, 2013 9:23 PMWas this helpful? Yes   No
    Replies
    20 posts
    Sep 19, 2012
    1.amchambers,May 26, 2013 9:18 PM   in reply to amchambers
    Just an update. Previously I was attempting to export HTML to the Muse Export folder on my computer. I described what happened above. Now, I'm trying to publish directly to my FTP site. Its doing basically the same behavior where it exports all desktop pages (189 of them) then it locks up. However, the interesting thing is that when exporting to the Muse Export folder on my computer this said it was 89% complete. When uploading to my server, it says its 59% computer when all pages have been exported. Both options result in the app locking up and never completing the export. I did check my site online to see if the pages were really updated. I made a change to the nav bar on the master so I should see that on every page. It is not showing up online yet even though the app says all 189 pages have been exported. Still looking for help, all advice and ideas will be appreciated! I do want to get my updates online.
    Was this helpful? Yes   No
    Reply|
    Mark as:
    CorrectHelpful
    20 posts
    Sep 19, 2012
    2.amchambers,May 26, 2013 9:23 PM   in reply to amchambers
    Here's what I have when it locks up. It sits like this for hours.

  • Creating a button with a text label layer

    Hi guys.  Looking for any tips on how best to implement a button with a text label.  I initially created a rectangle object on a lower layer and with text in the upper layer via type tool.  When I group both objects and create the button the text is readable in my InDesign (document) computer screen but the minute I preview it on my iPad the button becomes unreadable and pixellated.  I tried various approaches by moving the text layer outside the button group does not display the text at all.  Has anyone run into this issue?  If so what is the best practice?  Thanks in advance.

    Thanks for the insight Neil.  Regarding my button design its nothing fancy.  Its a rectangle box on one layer and a text label on another layer inside the rectangle object.  What I'm trying to simulate is when the user taps on the button the click state will change colour to notify the user that they have activated an event and in this case a navto://...
    The way I've implemented it is the rectangle is coloured pink [Normal] and when tapped the light pink [Click] toggles between both colours BUT my text label disappears. 
    See the screen shots below.

  • SQL Subscription field shows * only with Dynamic Text Label in SQL query

    We are using Hyperion Analyzer 7.2.x for showing budget and actual data. I have to show this financial data based on the security e.g. person in IT can see only IT dept. data. Hence I want to use dynamic text label <<userid>> for the security based on the person logging in to Analyzer.
    But when I use dynamic text label <<userid>> in the SQL query in SQL Spreadsheet, SQL Subscription field shows * only selection option. Does anyone have idea how to solve this problem?
    Thanks in advance for your help.
    -SV

    Hi
    Okay i know this is a bit crazy way.....but i think this is the solution for your issue.
    Create a report without the where clause (<<useris>>) then add a filter (sql subscription) then you can find all the values that are there in the SQL field (try to increase the query limit it is set to 250 as default) then edit the spreadsheet and add the where clause (<<userid>>).
    This will help you having the filter and the dynamic text label. I think there is an issue when you try to filter it with a where clause.
    Hope it helps.
    CK

  • How do I automatically print a wavechart that is saved as a JPEG with additional text being saved in the JPEG as well

    I'm trying to automatically print a waveform chart programically with out using a sub VI. From using Method 2 on this post http://digital.ni.com/public.nsf/allkb/981c98819dbb89fe862569610046cfb8 I have been able to get the chart to save. However I haven't been able to get it to print automatically. I also am wondering if it is possible to have addition information being save in the JPEG, for example just some text to explain the chart a little bit. Lastly I am wondering if it possible to change the waveform chart background from black to white for the JPEG. I've attached a screen shot of my code below and I understand I'll have to add more but I'm unsure of how to do what I am looking for.
    I am fairly new to Labview and am still learning but any help would be appreciated. Thank you.
    Attachments:
    Capture.PNG ‏9 KB

    Hi Pistolaa,
    I found a couple examples about printing the front panel, take a look to them:
    https://decibel.ni.com/content/docs/DOC-13694
    https://decibel.ni.com/content/docs/DOC-3741
    Best,
    Carmen C.

  • Need a Jbutton object with TWO text labels??

    Hi
    I have a major problem I need to create a JButton object that takes two string as argument
    MyButtonClass(String a, String b);
    I do not have a clue how to do this... the reason I need this is that I have ttf(true type font) file each character refers to an Icon....so the first string argument will be character that refers to appropriate icon and the second argument the label of the button...
    just as the JButton(String text, Icon icon) object...but I do not have a clue how to create an Icon of a character that refers to icon in the ttf file...(I do not think this is possible?)
    I hope some one can give me clue how to this.
    Thanks

    Hi there
    I don't know what you are trying to say maybe you can clarify so that I might be able to help you. As I understand it you have button that must take in to parameters when it is created. These parameters then will say which icon has to be set with font that has been selected.
    This may sound stupid but why don't you create an Icon in (Paint Shop Pro or someting similar) that contains the text with the Icon and then just read the jpg file in as you normally would. Thus just having the switch statement or if statement making the rules for when a specific Icon should be selected.
    I may be wrong but that is what I would do.

  • Puting images into dynamic scrolling text

    So I have a dynamic text box and it is linked to the UI
    Scroll component. How do I put images in so that the image scrolls
    with the text?

    What i find works is to import the the text into a dynamic
    text field in flash. I use notepad to write the HTML (which is to
    be loaded externally) and use this HTML to bring in the images,
    this way they all scroll with the text in the dynamic text box. So
    you could use the <img src> tag in the external text (in
    notepad) then import the text into flash using LoadVars() into the
    frame where you want the text.
    I've used this countless time for sites and stuff although im
    having problems getting the text nest into a movie clip (im about
    to post for help on that one .....
    Not sure how clear all that is to you......

  • "Save image" button of Camera Raw does not save JPEG with modifications made.

    I am using Bridge CC to process my RAW images and make modifications to some JPEG images as well.  I have no need to further alter images in Photoshop at the moment, so I do all modifications in Camera Raw. After altering my images, I then press the "save image" button at the left bottom corner of Camera Raw and choose the settings to save in JPEG.  However, when I upload these JPEG images to a website or when I email them, the image is uploaded without the modifications I had done!  It seems to me that Camera Raw is saving JPEGs the same way it does for RAW images, in a non-destructive manner, only attaching instructions for the images to be displayed properly on Photoshop. But when I save an image in JPEG, I expect the image to be saved entirely with the modifications I made while still keeping the original RAW file.  What goes on then?  What is Camera Raw doing and how do I get to save a modified image in JPEG with Camera Raw?  Would you please explain?
    Many thanks for your help,
    Beza

    Hi,
    What version of camera raw and operating system are you using?

  • Have been trying to export versions to a friend in the UK as JPEG. He receives them as bmp and no Metadata. Tried all the JPEG settings in  Image Export with no success.

    Have been trying to export "versions to a friend in the UK as JPEG. He reseives them as bmp with no Metedata. Have tried all the JPEG settings in Image export with no success.
    Nelson

    Ernie-
    Thanks for responding...but still have a oroblem. Here's what I'm doing:
    In Aperture I choose a "version" that has been Adjusted (croped, etc.).
    - Go to "File"...'Export"..."Version"
    - In next window for "Export preset" I choose "JPEG-Fit within 1024x1024"
    - Click on "Export version"
    The exported version then showes up in "Finder" under "Pictures"
    - Next I open "Mail" (version 5.2)
    - Adderss email to friends in England.
    - Click on attachment (paper clip)
    - Choose my "version" from "pictures"
    - Back in Mail, click on "Format"..."Make Plain Text"
    - Send
    My friends receive it as "bmp", not JPEG, with no Metadata.
    If I do the same procedure but under "File" choose "Export Master", they receive it as JPEG and also the Metadata.....BUT, of course, no Adjustments, such as croping, that were made to the "Version".
    What am I doing wrong? Is there any way to save the "Version" as a "Master" and then send it as a "Master"?
    Thanks,
    Nelson

  • Is it possible to have a combination graph chart with a stacked vertical br

    I have the following XML data :
    - <ROWSET>
    - <ROW>
    <Z_CUSTOMER>ACME</Z_CUSTOMER>
    <Z_REGION>SPAIN</Z_REGION>
    <Z_YEAR>2009</Z_YEAR>
    <Z_MONTH>01</Z_MONTH>
    <Z_SALES>100</Z_SALES>
    <Z_SALES_PREV>50</Z_SALES_PREV>
    <Z_SALES_PREV2>90</Z_SALES_PREV2>
    </ROW>
    - <ROW>
    <Z_CUSTOMER>ACME</Z_CUSTOMER>
    <Z_REGION>SPAIN</Z_REGION>
    <Z_YEAR>2009</Z_YEAR>
    <Z_MONTH>02</Z_MONTH>
    <Z_SALES>300</Z_SALES>
    <Z_SALES_PREV>50</Z_SALES_PREV>
    <Z_SALES_PREV2>40</Z_SALES_PREV2>
    </ROW>
    - <ROW>
    <Z_CUSTOMER>ACME</Z_CUSTOMER>
    <Z_REGION>SPAIN</Z_REGION>
    <Z_YEAR>2009</Z_YEAR>
    <Z_MONTH>03</Z_MONTH>
    <Z_SALES>600</Z_SALES>
    <Z_SALES_PREV>35</Z_SALES_PREV>
    <Z_SALES_PREV2>80</Z_SALES_PREV2>
    </ROW>
    - <ROW>
    <Z_CUSTOMER>ACME</Z_CUSTOMER>
    <Z_REGION>SPAIN</Z_REGION>
    <Z_YEAR>2009</Z_YEAR>
    <Z_MONTH>04</Z_MONTH>
    <Z_SALES>700</Z_SALES>
    <Z_SALES_PREV>350</Z_SALES_PREV>
    <Z_SALES_PREV2>90</Z_SALES_PREV2>
    </ROW>
    - <ROW>
    <Z_CUSTOMER>ACME</Z_CUSTOMER>
    <Z_REGION>FRANCE</Z_REGION>
    <Z_YEAR>2009</Z_YEAR>
    <Z_MONTH>01</Z_MONTH>
    <Z_SALES>100</Z_SALES>
    <Z_SALES_PREV>60</Z_SALES_PREV>
    <Z_SALES_PREV2>70</Z_SALES_PREV2>
    </ROW>
    </ROWSET>
    I have produced a report based on this data which uses a combination graph chart. The sales for the current year are shown as a vertical bar for each month while the previous year and previous year but one are shown as lines. The report produces the correct output but I would like to add an extra feature
    so that the vertical bar for the current year is shown as a stacked vertical bar so that the sales from each region can be seen within the bar rather than the bar just showing total sales. Is this possible byt altering the chart options within the template builder or would it be necessary to write some XSL code to do this ?

    Yes and no, here's an example of stacked bar and area graph.
    chart:
    <Graph stylePath="/oracle/dss/graph/styles/projection.xml" seriesEffect="SE_AUTO_GRADIENT" graphType="LINE_VERT_STACK">
      <LegendArea visible="true" fillColor="#FFFFFF" fillTransparent="false" borderColor="#000000" borderTransparent="false" automaticPlacement="AP_NEVER" position="LAP_RIGHT"/>
      <Title text="Margin Forecast Trending" visible="true" horizontalAlignment="CENTER">
        <GraphFont name="Arial Black" size="16" bold="true" italic="false" underline="false"/>
      </Title>
      <SeriesItems>
        <Series id="0" color="#FFFF00" lineStyle="LS_SOLID"/>
        <Series id="1" color="#0000FF" lineStyle="LS_DASH"/>
        <Series id="2" color="#FF0000" lineStyle="LS_DOTTED"/>
        <Series id="3" color="#00FF00" lineStyle="LS_DASH_DOT"/>
      </SeriesItems>
      <Y1Axis lineWidth="1" lineColor="#DDDDDD" ascending="true" axisLocation="AL_LEFT" visible="true" axisMinAutoScaled="true" axisMaxAutoScaled="true" majorTickStepAutomatic="true">
        <ViewFormat numberType="NUMTYPE_GENERAL" numberTypeUsed="true" decimalDigit="0" decimalSeparatorUsed="true" decimalDigitUsed="true" scaleFactor="SCALEFACTOR_NONE" scaleFactorUsed ="false"/>
      </Y1Axis>
      <LegendText>
        <GraphFont name="Arial Black" size="12" bold="false" italic="false" underline="false"/>
      </LegendText>
      <O1Title text="Forecast as of" visible="true">
        <GraphFont name="Arial Black" size="11" bold="true" italic="false" underline="false"/>
      </O1Title>
      <Y1Title text="Dollars" visible="true">
        <GraphFont name="Arial Black" size="11" bold="true" italic="false" underline="false"/>
      </Y1Title>
      <Y1TickLabel>
        <GraphFont name="Arial Black" size="9" bold="false" italic="false" underline="false"/>
      </Y1TickLabel>
      <O1TickLabel>
        <GraphFont name="Arial Black" size="9" bold="false" italic="false" underline="false"/>
      </O1TickLabel>
      <LocalGridData colCount="{count(xdoxslt:group(.//G_GRAPH|.//G_ZERO_GRAPH[count(//G_GRAPH)=1],  'PFP_DATE'))}" rowCount="4">
        <RowLabels>
          <Label>Margin Plan</Label>
          <Label>Base Fee</Label>
          <Label>Forecast at Completion</Label>
          <Label>Margin Forecast</Label>
        </RowLabels>
        <ColLabels>
          <xsl:for-each select=".//G_GRAPH|.//G_ZERO_GRAPH[$grp_cnt=1]" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
            <Label>
              <xsl:value-of select="PFP_DATE"/>
            </Label>
          </xsl:for-each>
        </ColLabels>
        <DataValues>
          <RowData>
            <xsl:for-each-group select=".//G_GRAPH|.//G_ZERO_GRAPH[$grp_cnt=1]" group-by="PFP_DATE" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              <Cell>
                <xsl:value-of select="sum(current-group()/MARGIN_PLAN)"/>
              </Cell>
            </xsl:for-each-group>
          </RowData>
          <RowData>
            <xsl:for-each-group select=".//G_GRAPH|.//G_ZERO_GRAPH[$grp_cnt=1]" group-by="PFP_DATE" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              <Cell>
                <xsl:value-of select="sum(current-group()/BASE_FEE)"/>
              </Cell>
            </xsl:for-each-group>
          </RowData>
          <RowData>
            <xsl:for-each-group select=".//G_GRAPH|.//G_ZERO_GRAPH[$grp_cnt=1]" group-by="PFP_DATE" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              <Cell>
                <xsl:value-of select="sum(current-group()/FORECAST_AT_COMPLETION)"/>
              </Cell>
            </xsl:for-each-group>
          </RowData>
          <RowData>
            <xsl:for-each-group select=".//G_GRAPH|.//G_ZERO_GRAPH[$grp_cnt=1]" group-by="PFP_DATE" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              <Cell>
                <xsl:value-of select="sum(current-group()/MARGIN_FORECAST)"/>
              </Cell>
            </xsl:for-each-group>
          </RowData>
        </DataValues>
      </LocalGridData>
    </Graph>

  • How to change the bar chart rendering image format in SSRS

    Hello all,
    I am working with SQL Server 2008 R2 and I have a SSRS bar chart report, when the report got rendered over online or if the take Export (PDF and PPT), the image is in png format always, which is taking too much of time to execute the report in case of large
    data.
    Can, It be possible that the rendered image is in jpeg format instead of png.
    If Yes, please share the appropriate steps to follow:
    Thanks in advance
    Pankaj Kumar Yadav-

    Hi Pankaj067,
    According to your description, you want to change the bar chart rendering image format as JPEG format when previewing the report or exporting to a PDF file .
    In Reporting Services, the chart rendering image format is PNG by default. It’s a by-design behavior. And it doesn’t open any API for us to change the image type when exporting a chart to a format. So in your scenario, your requirement can’t be achieved
    in Reporting Services currently. I would recommend you submit a feature request to Microsoft at this site:
    https://connect.microsoft.com/SQLServer. So that we can try to modify and expand the product features based on your needs.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Anychart (render the chart as image)..

    Hi all and Javascript experts..
    Anychart Version: 5.1.2
    Apex Version: 3.2
    Oracle Database: 11g
    Is it possible to generate an "image of the chart" (instead of flash) content with anychart ?
    I mean ,if i run a chart in a APEX application, instead of genating a flash chart a Jpeg or PNG need to be genarated on the fly.
    i know in anychart we have a functionality that users can "right click" on the flash chart and "save it as a image". I dont know is there any way that we can use
    this functionality to render the chart as image.
    i found the following link..
    http://www.anychart.com/products/anychart/docs/users-guide/index.html?SaveAsImage.htmlthat mentioned about the save as image part.. Please help me if any one has any ideas to do this..
    Thanks
    SN
    Edited by: SN on Dec 28, 2010 7:19 AM

    Hi,
    maybe you can take a look at this example : http://anychart.com/products/stock/online-demos/html-js-samples-center/export-auto-to-server/index.html?v=1.0.0r7488#sampleView
    Yann.

  • Capture images (JPEG) from IP-Camera

    Hey there!
    I have been trying to capture images from an IP-Camera. I understand that this has to be done by using a custom DataSource and I have tried many many example found here on the net, but with no results.
    I think I've tried every piece of code found here at this forum regarding this subject.. :/
    The best I could do was not getting an error while creating a custom DataSource from a BufferedStream..but the when I try to configure/realize the Processor - created with Manager.createProcessor(customdatasource) - it gives me an error which, I think, has something to do with unrecognized content..
    I could post all the examples I tried but I think it would be too much of a confusion so...does anyone have a full working example of code to achieve this? WITH the frame grabber class? plizzzzzzzzz?
    Thanks,
    Edd

    I felt Captfoss' solution was inspired and so gave it a go. The following builds a video from an ip cam jpg stream using a version of Sun's JpegImagesToMovie.java. It is hacked together quickly and with scope for improvement, but it works, proves the idea, and is a good example.
    Run as:- java JpegImagesToMovie -w 320 -h 240 -f 30 -o file:test.avi
    * @(#)JpegImagesToMovie.java     1.3 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    * Some public domain modifications by Andy Dyble for avi etc by self and from 
    * other internet resources 19/11/2008. Reads editable 20 ip cam network jpg files.
    * Supported formats tested for compression options. This code could be much improved
    * further to these amendments. Absolutely no warranties. www.exactfutures.com
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.awt.Dimension;
    import javax.media.*;
    import javax.media.control.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.datasink.*;
    import javax.media.format.VideoFormat;
    import javax.media.format.JPEGFormat;
    * This program takes a list of JPEG image files and convert them into
    * a QuickTime movie.
    public class JpegImagesToMovie implements ControllerListener, DataSinkListener {
        public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML, String outputURL)
         ImageDataSource ids = new ImageDataSource(width, height, frameRate, inFiles);
         Processor p;
         try {
             System.err.println("- create processor for the image datasource ...");
             p = Manager.createProcessor(ids);
         } catch (Exception e) {
             System.err.println("Yikes!  Cannot create a processor from the data source.");
             return false;
         p.addControllerListener(this);
         // Put the Processor into configured state so we can set
         // some processing options on the processor.
         p.configure();
         if (!waitForState(p, p.Configured)) {
             System.err.println("Failed to configure the processor.");
             return false;
         // Set the output content descriptor to QuickTime.
         if(outputURL.endsWith(".avi") || outputURL.endsWith(".AVI"))
              p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.MSVIDEO));
         if(outputURL.endsWith(".mov") || outputURL.endsWith(".MOV"))
              p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.QUICKTIME));
         // Query for the processor for supported formats.
         // Then set it on the processor.
         TrackControl tcs[] = p.getTrackControls();
         for(int i=0;i<tcs.length;i++)
              System.out.println("TrackControl "+i+" "+tcs);
         Format f[] = tcs[0].getSupportedFormats();
         if (f == null || f.length <= 0) {
         System.err.println("The mux does not support the input format: " + tcs[0].getFormat());
         return false;
         for(int i=0;i<f.length;i++)
              System.out.println("Supported Format "+i+" "+f[i]);
    //     tcs[0].setFormat(f[0]);
         if(outputURL.endsWith(".avi") || outputURL.endsWith(".AVI"))     // must be VideoFormat
              System.err.println("Setting the track format to: "     // INDEO50 CINEPAK f[0] etc
                   + tcs[0].setFormat(new VideoFormat(VideoFormat.INDEO50)));
         if(outputURL.endsWith(".mov") || outputURL.endsWith(".MOV"))
              System.err.println("Setting the track format to: "     // JPEG CINEPAK RGB f[0] etc
                   + tcs[0].setFormat(new VideoFormat(VideoFormat.JPEG)));
         //System.err.println("Setting the track format to: " + f[0]);
         // We are done with programming the processor. Let's just
         // realize it.
         p.realize();
         if (!waitForState(p, p.Realized)) {
         System.err.println("Failed to realize the processor.");
         return false;
         // Now, we'll need to create a DataSink.
         DataSink dsink;
         if ((dsink = createDataSink(p, outML)) == null) {
         System.err.println("Failed to create a DataSink for the given output MediaLocator: " + outML);
         return false;
         dsink.addDataSinkListener(this);
         fileDone = false;
         System.err.println("start processing...");
         // OK, we can now start the actual transcoding.
         try {
         p.start();
         dsink.start();
         } catch (IOException e) {
         System.err.println("IO error during processing");
         return false;
         // Wait for EndOfStream event.
         waitForFileDone();
         // Cleanup.
         try {
         dsink.close();
         } catch (Exception e) {}
         p.removeControllerListener(this);
         System.err.println("...done processing.");
         return true;
    * Create the DataSink.
    DataSink createDataSink(Processor p, MediaLocator outML) {
         DataSource ds;
         if ((ds = p.getDataOutput()) == null) {
         System.err.println("Something is really wrong: the processor does not have an output DataSource");
         return null;
         DataSink dsink;
         try {
         System.err.println("- create DataSink for: " + outML);
         dsink = Manager.createDataSink(ds, outML);
         dsink.open();
         } catch (Exception e) {
         System.err.println("Cannot create the DataSink: " + e);
         return null;
         return dsink;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    * Block until the processor has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(Processor p, int state) {
         synchronized (waitSync) {
         try {
              while (p.getState() < state && stateTransitionOK)
              waitSync.wait();
         } catch (Exception e) {}
         return stateTransitionOK;
    * Controller Listener.
    public void controllerUpdate(ControllerEvent evt) {
         if (evt instanceof ConfigureCompleteEvent ||
         evt instanceof RealizeCompleteEvent ||
         evt instanceof PrefetchCompleteEvent) {
         synchronized (waitSync) {
              stateTransitionOK = true;
              waitSync.notifyAll();
         } else if (evt instanceof ResourceUnavailableEvent) {
         synchronized (waitSync) {
              stateTransitionOK = false;
              waitSync.notifyAll();
         } else if (evt instanceof EndOfMediaEvent) {
         evt.getSourceController().stop();
         evt.getSourceController().close();
    Object waitFileSync = new Object();
    boolean fileDone = false;
    boolean fileSuccess = true;
    * Block until file writing is done.
    boolean waitForFileDone() {
         synchronized (waitFileSync) {
         try {
              while (!fileDone)
              waitFileSync.wait();
         } catch (Exception e) {}
         return fileSuccess;
    * Event handler for the file writer.
    public void dataSinkUpdate(DataSinkEvent evt) {
         if (evt instanceof EndOfStreamEvent) {
         synchronized (waitFileSync) {
              fileDone = true;
              waitFileSync.notifyAll();
         } else if (evt instanceof DataSinkErrorEvent) {
         synchronized (waitFileSync) {
              fileDone = true;
              fileSuccess = false;
              waitFileSync.notifyAll();
         public static void createInputFiles(Vector files)
              // Create a file for the directory
              File file = new File("images");
              // Get the file list...
              String s[] = file.list();
              files.removeAllElements();     // if any set from arguments
              for(int i=0;i<s.length;i++)
                   if(s[i].indexOf(".jp")!=-1)
                        files.addElement("images"+File.separator+s[i]);     // and to sort if required
                   else
                        System.out.println((i+1)+": "+s[i]+" - ignored");
    public static void main(String args[]) {
         if (args.length == 0)
         prUsage();
         // Parse the arguments.
         int i = 0;
         int width = -1, height = -1, frameRate = 1;
         Vector inputFiles = new Vector();
         String outputURL = null;
         while (i < args.length) {
         if (args[i].equals("-w")) {
              i++;
              if (i >= args.length)
              prUsage();
              width = new Integer(args[i]).intValue();
         } else if (args[i].equals("-h")) {
              i++;
              if (i >= args.length)
              prUsage();
              height = new Integer(args[i]).intValue();
         } else if (args[i].equals("-f")) {
              i++;
              if (i >= args.length)
              prUsage();
              frameRate = new Integer(args[i]).intValue();
         } else if (args[i].equals("-o")) {
              i++;
              if (i >= args.length)
              prUsage();
              outputURL = args[i];
         } else {
              inputFiles.addElement(args[i]);
         i++;
    ///     createInputFiles(inputFiles);
         if (outputURL == null)// || inputFiles.size() == 0)
         prUsage();
         // Check for output file extension.
         if(!outputURL.endsWith(".avi") && !outputURL.endsWith(".AVI") && !outputURL.endsWith(".mov") && !outputURL.endsWith(".MOV"))
              System.err.println("The output file extension should end with a .mov extension");
              prUsage();
         if (width < 0 || height < 0) {
         System.err.println("Please specify the correct image size.");
         prUsage();
         // Check the frame rate.
         if (frameRate < 1)
         frameRate = 1;
         // Generate the output media locators.
         MediaLocator oml;
         if ((oml = createMediaLocator(outputURL)) == null) {
         System.err.println("Cannot build media locator from: " + outputURL);
         System.exit(0);
         JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
         imageToMovie.doIt(width, height, frameRate, inputFiles, oml, outputURL);
         System.exit(0);
    static void prUsage() {
         System.err.println("Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL>");// <input JPEG file 1> <input JPEG file 2> ...");
         System.exit(-1);
    * Create a media locator from the given string.
    static MediaLocator createMediaLocator(String url) {
         MediaLocator ml;
         if (url.indexOf(":") > 0 && (ml = new MediaLocator(url)) != null)
         return ml;
         if (url.startsWith(File.separator)) {
         if ((ml = new MediaLocator("file:" + url)) != null)
              return ml;
         } else {
         String file = "file:" + System.getProperty("user.dir") + File.separator + url;
         if ((ml = new MediaLocator(file)) != null)
              return ml;
         return null;
    // Inner classes.
    * A DataSource to read from a list of JPEG image files and
    * turn that into a stream of JMF buffers.
    * The DataSource is not seekable or positionable.
    class ImageDataSource extends PullBufferDataSource {
         ImageSourceStream streams[];
         ImageDataSource(int width, int height, int frameRate, Vector images) {
         streams = new ImageSourceStream[1];
         streams[0] = new ImageSourceStream(width, height, frameRate, images);
         public void setLocator(MediaLocator source) {
         public MediaLocator getLocator() {
         return null;
         * Content type is of RAW since we are sending buffers of video
         * frames without a container format.
         public String getContentType() {
         return ContentDescriptor.RAW;
         public void connect() {
         public void disconnect() {
         public void start() {
         public void stop() {
         * Return the ImageSourceStreams.
         public PullBufferStream[] getStreams() {
         return streams;
         * We could have derived the duration from the number of
         * frames and frame rate. But for the purpose of this program,
         * it's not necessary.
         public Time getDuration() {
         return DURATION_UNKNOWN;
         public Object[] getControls() {
         return new Object[0];
         public Object getControl(String type) {
         return null;
    * The source stream to go along with ImageDataSource.
    class ImageSourceStream implements PullBufferStream {
         Vector images;
         int width, height;
         VideoFormat format;
         int nextImage = 0;     // index of the next image to be read.
         boolean ended = false;
         float frameRate;
         long seqNo = 0;
         public ImageSourceStream(int width, int height, int frameRate, Vector images) {
         this.width = width;
         this.height = height;
         this.images = images;
              this.frameRate = (float)frameRate;
         format = new VideoFormat(VideoFormat.JPEG,
                        new Dimension(width, height),
                        Format.NOT_SPECIFIED,
                        Format.byteArray,
                        (float)frameRate);
         * We should never need to block assuming data are read from files.
         public boolean willReadBlock() {
         return false;
    byte[] input_buffer;
    byte[] imgbytearray;
    byte[] imgusebyte;
    int camWidth = 320;
    int camHeight = 240;
    URL url;
    long timeStamp;long timeStamp0=System.currentTimeMillis();long resultTimeStamp;
         public boolean urlFetchJPG()
              String ipcamserver = "146.176.65.10";     // examples 146.176.65.10 , 62.16.100.204 , 194.168.163.96 , 84.93.217.139 , 194.177.131.229 , 148.61.171.201
              try
                   url = new URL("http://"+ipcamserver+"/axis-cgi/jpg/image.cgi?camera=&resolution=320x240".trim());
              catch(Exception e){System.out.println("Exception url "+e);}
              try
                   if(input_buffer==null)input_buffer = new byte[8192];
                   if(imgbytearray==null)imgbytearray = new byte[camWidth*camHeight*3];
                   URLConnection uc = url.openConnection();
                   uc.setUseCaches(false);
                   //uc.setDoInput(true);
                   //uc.setRequestProperty("accept","image/jpeg,text/html,text/plain");
                   BufferedInputStream in;
                   int bytes_read;
                   int sumread=0;
                   in = new BufferedInputStream(uc.getInputStream());
                   while((bytes_read=in.read(input_buffer, 0, 8192))!=-1)
                        if(sumread+bytes_read>imgbytearray.length)
                             byte[] imgbytearraytemp = new byte[sumread+bytes_read+8192];
                             System.arraycopy(imgbytearray,0,imgbytearraytemp,0,imgbytearray.length);
                        System.arraycopy(input_buffer,0,imgbytearray,sumread,bytes_read);
                        sumread=sumread+bytes_read;
                   in.close();
                   imgusebyte = new byte[sumread];
                   System.arraycopy(imgbytearray,0,imgusebyte,0,sumread);
              catch(Exception e){System.out.println("Exception urlFetchJPG "+e);}
              return true;
         * This is called from the Processor to read a frame worth
         * of video data.
         public void read(Buffer buf) throws IOException {
         // Check if we've finished all the frames.
         if (nextImage >= 20) //images.size())
              // We are done. Set EndOfMedia.
              System.err.println("Done reading all images.");
              buf.setEOM(true);
              buf.setOffset(0);
              buf.setLength(0);
              ended = true;
              return;
    ///     String imageFile = (String)images.elementAt(nextImage);
         nextImage++;
    //     System.err.println(" - reading image file: " + imageFile);
         // Open a random access file for the next image.
    ///     RandomAccessFile raFile;
    ///     raFile = new RandomAccessFile(imageFile, "r");
         byte data[] = null;
         // Check the input buffer type & size.
    ///     if (buf.getData() instanceof byte[])
    ///          data = (byte[])buf.getData();
              urlFetchJPG();
              data = imgusebyte;
         // Check to see the given buffer is big enough for the frame.
    ///     if (data == null || data.length < raFile.length()) {
    ///          data = new byte[(int)raFile.length()];
              buf.setData(data);
         // Read the entire JPEG image from the file.
    ///     raFile.readFully(data, 0, (int)raFile.length());
    //     System.err.println(" read " + raFile.length() + " bytes.");
         buf.setOffset(0);
    ///     buf.setLength((int)raFile.length());
              buf.setLength(data.length);
         buf.setFormat(format);
         buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
    ///          long time = (long)(seqNo * (1000D / frameRate) * 1000000);
              timeStamp = System.currentTimeMillis();
              resultTimeStamp = timeStamp - timeStamp0;
              long time = resultTimeStamp * 0xf4240L;
              buf.setTimeStamp(time);
              buf.setSequenceNumber(seqNo++);
         // Close the random access file.
    ///     raFile.close();
         * Return the format of each video frame. That will be JPEG.
         public Format getFormat() {
         return format;
         public ContentDescriptor getContentDescriptor() {
         return new ContentDescriptor(ContentDescriptor.RAW);
         public long getContentLength() {
         return 0;
         public boolean endOfStream() {
         return ended;
         public Object[] getControls() {
         return new Object[0];
         public Object getControl(String type) {
         return null;
    {code}

Maybe you are looking for