Hallo zusammen,
ich stehe auf dem Schlauch und bitte um euer Schwarmwissen.
Mit dem u.A. Code beabsichtige ich mehrere Symbole in Canvas darzustellen.
Die Dartstellung geling mir aber leider immer nur das letzte aus der Datenbank.
Was mache ich falsch, dass ich es nicht schaffe mehrere Bilder darzustellen?
Ich bin für jeden Tipp sehr dankbar.
ich stehe auf dem Schlauch und bitte um euer Schwarmwissen.
Mit dem u.A. Code beabsichtige ich mehrere Symbole in Canvas darzustellen.
Die Dartstellung geling mir aber leider immer nur das letzte aus der Datenbank.
Was mache ich falsch, dass ich es nicht schaffe mehrere Bilder darzustellen?
Ich bin für jeden Tipp sehr dankbar.
PHP-Code:
<script>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const img = new Image();
<?php
$sql = "SELECT * FROM v1_card_cards Where active='1'";
foreach ($pdo->query($sql) as $row) {
echo'img.src = "'.$row['file'].'";';
}
?>
img.onload = function() {
canvas.height = canvas.width * (img.height / img.width);
const oc = document.createElement('canvas');
const octx = oc.getContext('2d');
oc.width = img.width * 1;
oc.height = img.height * 1;
octx.drawImage(img, 0, 0, oc.width, oc.height);
ctx.drawImage(oc, 0, 0, oc.width * 1, oc.height * 1, 0, 0, canvas.width, canvas.height);
}
<?php
$sql = "SELECT * FROM v1_card";
foreach ($pdo->query($sql) as $row) {
$sql = "SELECT * FROM v1_card_milsym Where file_name ='" . $row['name'] . "'";
foreach ($pdo->query($sql) as $row2) {
$path = $row2['file'];
$namm = $row2['id'];
}
////////////////
echo' width = window.innerWidth;';
echo' height = window.innerHeight;';
echo'function drawImage(imageObj) {';
echo' stage = new Konva.Stage({';
echo'container: "container",';
echo'width: width,';
echo'height: height,';
echo'});';
echo' layer = new Konva.Layer();';
echo' MilSym = new Konva.Image({';
echo'image: imageObj,';
echo' x: ' . $row['posx'] . ',';
echo'y: ' . $row['posy'] . ',';
echo'width: 90,';
echo'height: 70,';
echo'draggable: true,';
echo'});';
echo'MilSym.on("mouseover", function () {';
echo' document.body.style.cursor = "pointer";';
echo'});';
echo'MilSym.on("mouseout", function () {';
echo' document.body.style.cursor = "default";';
echo'});';
echo'layer.add(MilSym);';
echo'stage.add(layer);';
echo'}';
echo' imageObj = new Image();';
echo'imageObj.onload = function () {';
echo'drawImage(this);';
echo'};';
echo'imageObj.src = "'. $path.'";';
/////////
}
?>
Kommentar