[PHP] Jak zapisać obraz do tablicy?

Czy da się zapisać obraz do tablicy? Przecież jest to plik binarny.

Oczywiście, że da się to zrobić i nie jest to nic trudnego. Obraz w tablicy zapisujemy jako wartości RGB kolorów pikseli wraz z ich pozycjami.

Przykład

<?php

// Wczytywanie obrazu
$image = imagecreatefromjpeg('path/to/image.jpg');

// Pobranie szerokości i wysokości obrazu
$width = imagesx($image);
$height = imagesy($image);

// Tworzymy tablicę dla obrazu
$image_array = [];

// Iterowanie po każdym pikselu i zapisywanie jego wartości do tablicy
for($y = 0; $y < $height; $y++) {

    for($x = 0; $x < $width; $x++) {
    
        $rgb = imagecolorat($image, $x, $y);
        $r = ($rgb >> 16) & 0xFF;
        $g = ($rgb >> 8) & 0xFF;
        $b = $rgb & 0xFF;
        $image_array[$y][$x] = [$r, $g, $b];
        
    }
    
}

// Zwalnianie pamięci
imagedestroy($image);

W powyższym przykładzie, każdy piksel obrazu jest zapisywany jako trójelementowa tablica [R, G, B].

Komentarze

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?