Die Start/Landebahn könnte man einfach in das Windrose bild einmalen. Die Landebahn ändert sich ja nicht

Code: Alles auswählen
#! /usr/bin/python3
# demonstriere die Auswahl eines zur Windrichtung passenden Bildes mit dem passenden Pfeil
# die Bilder sollten im Verzeichnis pngpath vorliegen - Namen der Bilder entsprechen denen im arr der Funktion
pngpath = "/var/www/html/img/"
def WindDirPNG(wdir):
arr= ["N.png","N-NO.png","NO.png","O-NO.png","O.png","O-SO.png", "SO.png", "S-SO.png","S.png","S-SW.png","SW.png","W-SW.png","W.png","W-NW.png","NW.png","N-NW.png"]
try:
val=int((float(wdir)/22.5)+.5)
s = arr[(val % 16)]
except ValueError: s = "empty.png"
return s
# main
winddir = 120 # Windrichtung in Grad als Input
print("nutze Pfeil aus Datei "+pngpath+WindDirPNG(winddir))
Code: Alles auswählen
if($windrichtung >= 0 && $windrichtung <= 11)
{$windpfeil = '0.png';}
if($windrichtung > 11 && $windrichtunf <= 33)
{$windpfeil = '22.png';}
if($windrichtung > 33 && $windrichtung <= 56)
{$windrichtung = '45.png';}
usw.
Fatal error: Uncaught TypeError: imagesx(): Argument #1 ($image) must be of type GdImage, bool given in /home/user/scripts/code.php:11
Stack trace:
#0 /home/user/scripts/code.php(11): imagesx(false)
#1 {main}
thrown in /home/user/scripts/code.php on line 11
Code: Alles auswählen
<?php
header('content-type: image/png');
$watermark = imagecreatefrompng('45.png'); //Pfeilgrafik
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefrompng('runway.png');
$size = getimagesize('runway.png');
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
Code: Alles auswählen
<?php
// Header setzten
header('Content-type: image/png');
// Bilder laden
$imgrunway = imagecreatefrompng("runway.png");
$imgwindpfeil = imagecreatefrompng("45.png");
// Bild erzeugen
$img = imagecreatetruecolor(664,664);
// Landebahn und Windpfeil einfügen
imagecopy($img, $imgrunway, 0, 0, 0, 0, 664, 664);
imagecopy($img, $imgwindpfeil, 160, 160, 0, 0, 330, 320); //160,160 ist die x und y Koordinate für die Positionierung
// Bild anzeigen
imagepng($img);
// Speicher freigeben
imagedestroy($img);
?>