Mozilla Open Badges .png image creation in PHP

672 Views Asked by At

I need to create a .png image with the Open Badges assertion metadata embedded in PHP.

I have looked around and I have only seen some Mozilla API endpoints, but I need to create the file on my own server.

Is there any way to do it by hand, or should I depend on external services?

1

There are 1 best solutions below

1
Jmunoz Dev On BEST ANSWER

You can use the PHP library Imagick to add the metadata to the .png file by hand.

Please check how this custom small library use it: https://github.com/jmunozdev/php-tiny-openbadges-image-baker

$im = new Imagick($image_url);
// Set the image properties.
$im->setimageproperty('openbadges', $this->assertionJsonUrl);
// Return the final baked blob of the imagefile.
return base64_encode($im->getimageblob());

It is using the Imagick library to create the donwloadable .png file with the data embedded, also providing an approach to Drupal 7. I used it and it is working great, you can check the integrity of your badge image here: http://bakery.openbadges.org/

Hope it helps.