AW: AW: [Mapbender-users] Druck mit externen Diensten

Michael Schulz mschulz at webgis.de
Fri Feb 16 09:46:06 EST 2007


Hi Andreas,

> Wenn mitunter Probleme in der Qualität der verkleinerten Bilder mit
> *imagecopyresampled* zu befürchten sind, wäre es nicht auch eine
> Möglichkeit, gegebenenfalls mehrere Bilder zurückzugeben und erst in einer
> Schleife mit
>                 $pdf->addPngFromFile($filename, $mapOffset_left,
> $mapOffset_bottom, $map_width, $map_height);
> in der mod_printPDF_pdf.php zu einem endgültigen Bild zu überlagern. Geht
> das mit addPngFromFile überhaupt, wenn das mit gleichen Größen- und
> Positionsangaben mit verschiedenen Bildern passiert?
> Ich gehe 'mal davon aus, dass hier durch die Werte von $map_width und
> $map_height letztendlich das Verkleinern im Falle eine hq-Druckes erfolgt.

mit addPngFromFile wird nur das bereits aus allen wms-Bildern
zusammengesetzte Bild in das PDF eingefügt. Dieses Bild wird durch
weldMaps erzeugt und dann wird eigentlich nur noch über map_width und
map_height eingestellt in welchem "Rahmen" das Bild, ob hq oder nicht
im pdf erscheint. HQ erscheint dann halt mit höherer Auflösung, weil
das Bild größer für den gleichen Rahmen ist.

>
> ... und noch etwas anderes zum Thema Drucken:
> Wenn die generelle Überarbeitung angedacht ist, würde ich gerne noch
> Vorschläge zur Diskussion stellen.
> Ich habe die Druckfunktion z.B. so umgebaut, dass sich die Größe des
> mapframe nicht an das Ausgabeformat anpasst, sondern vom Mittelpunkt des
> Kartenfensters ausgehend soviel gedruckt wird, wie in das Layout passt.
> Könnte vielleicht als Option für den Druck auch für andere von Interesse
> sein. Außerdem habe ich den Druckdialog um eine Layoutauswahl ergänzt, die
> zudem an Berechtigungen gekoppelt ist (Layout für amtliche
> Katasterauskunft!). Und dann hätte ich da noch weitere Wünsche ... :-)

Ja, ich denke auch, da sollten alle ideen zusammengetragen werden.
Wäre das die richtige Stelle:
http://www.mapbender.org/index.php/Print_PDF_Module_Configuration_HQ_Option ?

Viele Grüße, Michael


>
> Gruß
> Andreas
>
> -----Ursprüngliche Nachricht-----
> Von: mapbender_users-bounces at lists.osgeo.org
> [mailto:mapbender_users-bounces at lists.osgeo.org]Im Auftrag von Marc
> Jansen
> Gesendet: Freitag, 16. Februar 2007 14:54
> An: Mapbender User List
> Betreff: Re: AW: AW: [Mapbender-users] Druck mit externen Diensten
>
>
> Michael Schulz schrieb:
> > Hallo Marc, Andreas,
> >
> >>
> >> Zunächst könnte man die Zeilen:
> >>
> >> $o_url->set('width',(intval($o_url->get('width'))*4));
> >> $o_url->set('height',(intval($o_url->get('height'))*4));
> >
> > <klugschei..eralarm>die Zeilen sind für das
> > overview-Bild</klugschei..eralarm> ;-), aber stimmt, die äquivalenten
> > Zeilen für die Karte könnten in die if-Schleife rein. Dann behielten
> > die ihre Größe.
> >
> Ich sollte mir vielleciht etwas mehr zeit nehmen., um hier zu antworten,
> dann würden diese Flüchtigkeitsfehler seltener ;~)
>
> > Dieses array wird aber dann an die weldmaps-klasse übergeben, und die
> > legt wiederum mit der Größe des ersten wms das endgültige Bild an
> > (welches ins pdf kommt). Angenommen, die Größen des ersten wms werden
> > mit 4 multipliziert und ein entsprechendes Bild geladen, dann kommt
> > ein wms mit geringeren Maßen, so wird ein kleines Bild angefordert und
> > dann mit imagecopy in das große Bild reinplatziert. Aber dabei findet
> > doch keine Größenanpassung mehr statt, oder?
> >
>
> Richtig. Das wäre in dem besprochenen Fall ein Problem:
>
> +--------------------------------------+
> |                  |                   |
> |                  |                   |
> |                  |                   |
> |                  |                   |
> |------------------+                   |
> |                                      |
> |                                      |
> |                                      |
> |                                      |
> +--------------------------------------+
>
>
>
> > An der stelle in der Klasse weldmaps sollte stattdessen
> > imagecopyresampled rein, dann würde das Bild tatsächlich an die
> > "große" Größe angepasst (aber auch nur wenn der erste wms vergrößert
> > wurde, wenn der nämlich, weil er das nicht unterstützt, das kleine
> > Format anfordert, dann wird das endgültige Bild auch die kleine Größe
> > haben). Das resamplen sollte wiederum nur stattfinden wenn tatsächlich
> > Größendifferenzen da sind, sonst könnten schlimmstenfalls irgendwelche
> > Artefakte in das Bild reinkommen.
> >
>
> Vielleicht könnte das so geschehen: (in die class_ weldMaps2PNG)
>
>             $url[$i] = $obj->setPNG();
>             $url[$i] = $obj->encodeGET();
>             $img = $this->loadpng($url[$i]);
>             $thisW = $obj->get("width");
>             $thisH = $obj->get("height");
>             if($img != false){
>                 if ( $thisW != $width   || $thisH != $height) {
>                     // we cannot simply copy, there are different sizes
>                     imagecopyresampled($image, $img, 0, 0, 0, 0, $width,
> $height, $thisW, $thisH);
>                 } else {
>                     // same size.. copy image to existing image
>                     imagecopy($image, $img, 0, 0, 0, 0, $width, $height);
>                 }
>                 @imagedestroy($img);
>             }
>
> Wenn das erste Bild ein kleines ist, werden alle nachfolgenden auf
> ddiese Größe minimiert. Die Qualität sollte aber ähnlich gut sein, als
> wenn man die verkleinerung der PDF-klasse überlässt.
> Vielleicht kann das von Euch jemand überprüfen, ich habe das nicht getestet.
>
> Wie schon angedeutet, ich habe mir vorgenommen, den Druck iin Zukunft zu
> überarbeiten, unter kann dann auch so etwa einfließen.
>
> Beste Grüße,
>
> -- Marc
> _______________________________________________
> Mapbender_users mailing list
> Mapbender_users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_users
> _______________________________________________
> Mapbender_users mailing list
> Mapbender_users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_users
>


-- 
-----------------------------------------------------------
Michael Schulz
mschulz at webgis.de

in medias res
Gesellschaft für Informationstechnologie mbH

In den Weihermatten 66
79108 Freiburg

Tel  +49 (0)761 556959-5
Fax +49 (0)761 556959-6

http://www.webgis.de / http://www.zopecms.de
-----------------------------------------------------------


More information about the Mapbender_users mailing list