[mapserver-users] transparent pixmaps in python mapscripts

Dan Little danlittle at yahoo.com
Wed Sep 24 15:50:10 EDT 2008


It would be three step process.

1) Generate the image.
2) Perform the clipping.
3) Over lay the new clipped image onto the Aerial.

It would require two Mapscript calls to generate images (one for the overlay and one for the aerial) but it would let the solution work.  If you need any code I've used this method for a couple of applications' printing capabilities.



----- Original Message ----
> From: "Fawcett, David" <David.Fawcett at state.mn.us>
> To: Dan Little <danlittle at yahoo.com>
> Cc: mapserver-users at lists.osgeo.org
> Sent: Wednesday, September 24, 2008 1:59:56 PM
> Subject: RE: [mapserver-users] transparent pixmaps in python mapscripts
> 
> Thanks Dan, I am plopping it on an air photo, so I don't think that your
> approach will work.  
> 
> David.
> 
> -----Original Message-----
> From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Dan Little
> Sent: Wednesday, September 24, 2008 10:02 AM
> To: Daniel Morissette; Fawcett, David
> Cc: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] transparent pixmaps in python mapscripts
> 
> 
> You could render the map with a known background color, and then use PIL
> to create a transparent GIF from the image.
> 
> If you can use white as the bg color then you can convert the image to a
> 2 color bitmap in memory, and then use it as a mask to perform the
> transparency composition.
> 
> 
> 
> ----- Original Message ----
> > From: Daniel Morissette 
> > To: "Fawcett, David" 
> > Cc: mapserver-users at lists.osgeo.org
> > Sent: Wednesday, September 24, 2008 8:45:19 AM
> > Subject: Re: [mapserver-users] transparent pixmaps in python 
> > mapscripts
> > 
> > David,
> > 
> > TRANSPARENCY ALPHA works only between layers drawn using map.draw() in
> 
> > a
> > single pass. If you call layer.draw() for each layer in a loop in your
> 
> > script then TRANSPARENCY ALPHA has no effect and that could explain
> the 
> > problem you are encountering.
> > 
> > Daniel
> > 
> > 
> > Fawcett, David wrote:
> > > I am using a pixmap symbol to mark a point using Python MapScript v.
> 
> > > 5.2.
> > >  
> > > The image has a transparent background.  When I use the symbol with
> > > MapServer CGI, I the transparency works.  When I use the symbol in 
> > > MapScript, I get a black background for the symbol, no transparency.
> 
> > >  
> > > Here is how I am creating the symbol:
> > >  
> > > img = mapscript.imageObj(/symbols/redcross.png', 'GD/PNG')
> > >  
> > > # create the symbol using the image
> > > symbol = mapscript.symbolObj('from_img')
> > > symbol.type = mapscript.MS_SYMBOL_PIXMAP
> > > symbol.setImage(img)
> > > symbol_index = mymap.symbolset.appendSymbol(symbol)
> > >  
> > > I also tried to add this to the layer, but it made no difference 
> > > either: inline_layer.transparency = mapscript.MS_GD_ALPHA
> > >  
> > > Here is a gdalinfo report on the symbol image:
> > >  
> > > Driver: PNG/Portable Network Graphics
> > > Files: redcross.png
> > > Size is 32, 32
> > > Coordinate System is `'
> > > Image Structure Metadata:
> > >   INTERLEAVE=PIXEL
> > > Corner Coordinates:
> > > Upper Left  (    0.0,    0.0)
> > > Lower Left  (    0.0,   32.0)
> > > Upper Right (   32.0,    0.0)
> > > Lower Right (   32.0,   32.0)
> > > Center      (   16.0,   16.0)
> > > Band 1 Block=32x1 Type=Byte, ColorInterp=Red
> > >   Mask Flags: PER_DATASET ALPHA
> > > Band 2 Block=32x1 Type=Byte, ColorInterp=Green
> > >   Mask Flags: PER_DATASET ALPHA
> > > Band 3 Block=32x1 Type=Byte, ColorInterp=Blue
> > >   Mask Flags: PER_DATASET ALPHA
> > > Band 4 Block=32x1 Type=Byte, ColorInterp=Alpha
> > >  
> > > Any ideas on how to get a pixmap symbol with a transparent 
> > > background
> > > using python mapscript? 
> > >  
> > > Thanks,
> > >  
> > > David.
> > >  
> > >  
> > >  
> > > 
> > > 
> > > --------------------------------------------------------------------
> > > ----
> > > 
> > > _______________________________________________
> > > mapserver-users mailing list mapserver-users at lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > 
> > 
> > --
> > Daniel Morissette
> > http://www.mapgears.com/
> > _______________________________________________
> > mapserver-users mailing list
> > mapserver-users at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> 
> 
> 
>       
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users



      


More information about the mapserver-users mailing list