Gdi+

IMPORTANT FIX

I think I finally caught one of the most challenging bugs we had in FoxyPreviewer, that made the reports render only the data from the first field in some reports that used Private DataSessions, and some other specific settings.

I received complaints from 4 people in the last year, but nobody could give me any clue about what was going on, or to help me to reproduce the problem. I finally found a good soul, Flavio Cardoso, from the brazilian VFP user group, who had the same issue, and provided the needed information, and worked with me during… Continue reading

Adding watermarks to reports is something that I've already blogged years ago during the development of GdiPlusX. In those times, we needed to create a specific ReportListener to manage the report pages, and draw the watermarks. We needed another external library, GdiPlusX, that was responsible for drawing at the report surface, and for applying some special effects to the images, such as transparencies and converting to grey scale.

FInally, we have this feature in FoxyPreviewer too ! That means that from now on, you can add watermarks to your reports without having absolutely any knowledge about GDI+ or… Continue reading

FoxyPreviewer brings another cool facility, that allows you to draw your texts in the report surface (and export it) having control on each word. Forget those old workarounds, generating images to draw some texts in your reports or even embedding RTF controls in your reports !

 

This brings a super cool new feature, allowing you to add some basic HTML texts to your fields. This means that you can from now on determine how EACH WORD in your field should be formatted!
See the image below, all the text is in ONE SINGLE FIELD !

How to do it… Continue reading

It's been a long time since my last blog post about foxypreviewer. although somehow quiet in the blog, the work behind the scenes has been hard, and i've just released version 2.38, http://foxypreviewer.codeplex.com/releases with several fixes and enhancements.

 

One of the coolest is the following:
to export a report to pdf without previewing, people just need to do the following:

     do foxypreviewer.app
     report form yourreport object type 10

yes !
that's all you need.

even better than that, the new - oops !!!!, hahahaha, vfp9 is quite old right now, reporting system from vfp9 allows me… Continue reading

Just uploaded a new release of FoxCharts, that brings the so asked "double Y axis" charts as the main change.
Apart from that, 2 important fixes were applied:

  • Multicharts with negative values that were not being drawn correctly in some situations;
  • Line charts are drawn much faster (5x faster) when drawing with line caps (with shapes in the chart intersections);
  • Other small tweaks

         

        http://vfpx.codeplex.com/releases/view/18515

         

        Still waiting for some feedback to push it as the "Recommended download". Please test it and let me know how it goes.
        Originally I thought of making a special subclass of FoxCharts for… Continue reading

        hey guys,

        thanks to Luis Maria Guayan and Guillermo Carrero from the spanish speaking community, now we have a brand new freeware and open source project for VFP.

        Foxbarcode is a 100% visual foxpro class that provides a tool for generating images with different bar code symbologies to be used in vfp forms and reports, or exported to other applications.

         

        you can learn more about the class foxbarcode and download freely from http://sites.google.com/site/foxbarcode
        foxbarcode is still in beta, but it is 100% functional. the most important barcodes are already available, and they're already working on new ones.

        instead of… Continue reading

        After I posted a Gauge sample with gdiplusx some months ago, Rafael Lippert from Brazil adapted my original code and created this cool analog watch, using GdiplusX and the 'ImageCanvas' class:

        LipsilClock

         

        Cool isn't it ? it permits many customizations, and you may use it as a sample to learn other gdiplusx techniques.

        You may get it directly from rafael' blog, at: http://rafaellippert.wordpress.com/2011/06/21/a-gdiplusx-analog-clock/

        It's worth to spend some time in rafael's blog and website - www.lipsil.com.br . I'm sure you'll find some really very neat utilities.

        Cropping an image is super simple using GdiplusX

        Prerequisites
        Visual FoxPro 9 and the GdiplusX library from VFPX 

        Please make sure that you have the latest version, because this sample may be using some functions that were added or fixed recently.
        http://www.codeplex.com/vfpx/wiki/view.aspx?title=gdiplusx&referringtitle=home

         

        The cropping is done by the fuction "clone()" from the bitmap class. All we need is to pass a rectangle object containing the x, y, width and height of the desired image to be cropped.

        Original image

        Top Left

        Center

        Bottom Right

        Run the code below, selecting any image, and you will see the… Continue reading

        Below are 4 simple ways to convert a bmp to icon, using gdiplusx.
        Those 2 blog posts were before we updated the library, adding the support for saving icons with good quality.

        This sample uses 4 techniques, and creates 4 versions of icons from the same image file.
        Before the conversion, it resizes the source image to the size of 16x16. this means that with this sample you can convert any image to ico file.

        In the next release, we hope to deliver a complete solution for .ico files too, with very simplified code, offering great ico files support, that… Continue reading

        Here are some notes on bmp transparencies on vfp, based in some conclusions I took after some discussions in Foxite, specially the ones with Bernard Bout.

        BMP image files, when used in the picture property of the image control usually show whites - rgb(255,255,255) as transparent. VFP creates a temporary mask for our pictures in order to show this way.

        picture 1: bmps can have whites converted to transparent when using the "picture" property and backstyle set to "transparent".

         

        But this works only for the 'Picture' property, not for 'PictureVal' !

        The code below creates a simple image… Continue reading