Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3 #198

Merged
merged 16 commits into from
Sep 21, 2024
Merged

V3 #198

merged 16 commits into from
Sep 21, 2024

Conversation

casperbakker
Copy link
Member

@casperbakker casperbakker commented Mar 31, 2024

A new version of this library that gives a better way to add new types and new options to the renderers. Instead of rendering the barcode inside the renderers, I have split the code in 2 pieces: the barcode translators (calculating the bars and spaces) and the renderers that can turn it into an image.

The renderers are now more flexibel in the options it can have. We can now add margin for example, or generate a text below the barcode.

// Make Barcode object of Code128 encoding.
$barcode = (new Picqer\Barcode\Types\TypeCode128())->getBarcode('081231723897');

// Output the barcode as HTML in the browser with a HTML Renderer
echo (new Picqer\Barcode\Renderers\HtmlRenderer())->render($barcode);

Options can be given as separate calls to the renderer, like this:

echo (new Picqer\Barcode\Renderers\HtmlRenderer())->setForegroundColor('#eee')->render($barcode);

That keeps simple usages as clean as possible, while also making room for new options.

Backwards compatible

The old 'generators' will work the same and are helpers to get the new types and renderers. So it is save to use this new version with your old usage of this library.

@casperbakker casperbakker mentioned this pull request Apr 1, 2024
@casperbakker casperbakker marked this pull request as ready for review September 21, 2024 08:26
@casperbakker casperbakker merged commit 9599fe8 into main Sep 21, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant