OpenLayers OpenLayers

Ticket #650: wms.patch

File wms.patch, 2.6 kB (added by crschmidt, 1 year ago)
  • tests/Layer/test_WMS.html

    old new  
    1010    var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 
    1111    var params = { map: '/mapdata/vmap_wms.map',  
    1212                   layers: 'basic',  
    13                    format: 'image/png'}; 
     13                   format: 'image/jpeg'}; 
    1414 
    1515    function test_01_Layer_WMS_constructor (t) { 
    16         t.plan( 10 ); 
     16        t.plan( 13 ); 
    1717 
     18        var trans_format = "image/png"; 
     19        if (OpenLayers.Util.alphaHack()) { trans_format = "image/gif"; }  
     20         
    1821        var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 
    1922        layer = new OpenLayers.Layer.WMS(name, url, params); 
    2023        t.ok( layer instanceof OpenLayers.Layer.WMS, "new OpenLayers.Layer.WMS returns object" ); 
     
    3235        params.TRANSPARENT = "TRUE"; 
    3336        var layer3 = new OpenLayers.Layer.WMS(name, url, params); 
    3437        t.eq(layer3.isBaseLayer, false, "transparency == 'TRUE', wms is baselayer"); 
     38        t.eq(layer3.params.FORMAT, trans_format, "transparent = TRUE causes image/gif format"); 
    3539 
    3640        params.TRANSPARENT = "TRuE"; 
    3741        var layer4 = new OpenLayers.Layer.WMS(name, url, params); 
    3842        t.eq(layer4.isBaseLayer, true, "transparency == 'TRuE', wms is not baselayer"); 
     43        t.eq(layer4.params.FORMAT, trans_format, "transparent = TRuE causes image/gif format"); 
    3944 
    4045        params.TRANSPARENT = true; 
    4146        var layer5 = new OpenLayers.Layer.WMS(name, url, params); 
    4247        t.eq(layer5.isBaseLayer, false, "transparency == true, wms is baselayer"); 
     48        t.eq(layer5.params.FORMAT, trans_format, "transparent = true causes image/gif format"); 
    4349 
    4450        params.TRANSPARENT = false; 
    4551        var layer6 = new OpenLayers.Layer.WMS(name, url, params); 
  • lib/OpenLayers/Layer/WMS.js

    old new  
    5151                                (this.params.TRANSPARENT != "true") &&  
    5252                                (this.params.TRANSPARENT != true)); 
    5353        } 
     54        if (this.params.TRANSPARENT && this.params.TRANSPARENT.toString().toLowerCase() == "true" && this.params.FORMAT == "image/jpeg") { 
     55            if (OpenLayers.Util.alphaHack()) { 
     56                this.params.FORMAT = "image/gif"; 
     57            } else { 
     58                this.params.FORMAT = "image/png"; 
     59            }     
     60        }    
     61         
    5462    },     
    5563 
    5664    /**