1

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?

Benjamin W.
  • 46,058
  • 19
  • 106
  • 116
pr0m3730
  • 25
  • 4
  • Welcome to Stack Overflow! You can take the [tour] first and learn [ask] a good question and create a [mcve]. That makes it easier for us to help you. – Katie Dec 15 '16 at 16:12

1 Answers1

3

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.

Jmunoz Dev
  • 461
  • 5
  • 10