Comments (8)
Poor (but fast 😶) workaround:
{!! Str::replaceFirst(' y="50"', ' y="54"', Avatar::create('Susilo Bambang Yudhoyono')->toSvg()) !!}
from avatar.
- suggestion : is it possible to vectorize text instead of output it in SVG ?
from avatar.
Hi @neoteknic, sorry I little bit busy in recent weeks. Any help welcome for this issue :)
from avatar.
Maybe a font issue, look at this image on Google chrome windows 10 x64.
from avatar.
Chrome ; Firefox ; Edge
Browser issue ? but possible to fire in Avatar.php toSvg() maybe.
from avatar.
I extend Avatar class and in method toSvg add 4px to "y" coordinate.
This line
$svg .= '<text x="' . $center . '" y="' . ($center + 4);
With this modification content is now aligned correctly
<?php
/**
* Created by PhpStorm.
* User: Workstation
* Date: 11.09.2019
* Time: 23:21
*/
namespace App\Services\AvatarGenerator;
use Laravolt\Avatar\Avatar;
class AvatarGenerator extends Avatar
{
public function toSvg()
{
$this->buildInitial();
$x = $y = $this->borderSize / 2;
$width = $height = $this->width - $this->borderSize;
$radius = ($this->width - $this->borderSize) / 2;
$center = $this->width / 2;
$svg = '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="' . $this->width . '" height="' . $this->height . '">';
if ($this->shape == 'square') {
$svg .= '<rect x="' . $x
. '" y="' . $y
. '" width="' . $width . '" height="' . $height
. '" stroke="' . $this->borderColor
. '" stroke-width="' . $this->borderSize
. '" fill="' . $this->background . '" />';
} elseif ($this->shape == 'circle') {
$svg .= '<circle cx="' . $center
. '" cy="' . $center
. '" r="' . $radius
. '" stroke="' . $this->borderColor
. '" stroke-width="' . $this->borderSize
. '" fill="' . $this->background . '" />';
}
$svg .= '<text x="' . $center . '" y="' . ($center + 4);
$svg .= '" font-size="' . $this->fontSize;
if ($this->fontFamily) {
$svg .= '" font-family="' . $this->fontFamily;
}
$svg .= '" fill="' . $this->foreground . '" alignment-baseline="middle" text-anchor="middle" dominant-baseline="central">';
$svg .= $this->getInitial();
$svg .= '</text>';
$svg .= '</svg>';
return $svg;
}
}
from avatar.
Just found https://github.com/meyfa/php-svg, will try to refactor the svg part using it.
from avatar.
Fixed in 4.1.4
from avatar.
Related Issues (20)
- Right to left script support HOT 8
- Laravel 8.x Support HOT 3
- Serialization of 'GdImage' is not allowed HOT 4
- setTheme() border size bug HOT 3
- config is empty when using facade HOT 1
- Arabic (utf8) not working HOT 6
- Generates only default "background" and "foreground" color
- Laravel 9 support HOT 4
- Using SVG with & (ampersand) breaks XML
- font error HOT 1
- got this error HOT 3
- error while install Laravolt HOT 2
- SVGs have their width and height set rendering them unresponsive HOT 1
- Error using in Laravel Framework 9.47.0, Please help !!! HOT 1
- Laravel 10 HOT 12
- Install/usage help HOT 2
- Enhancement: Exclusion of Prepositions and Modification of Initials
- Using the 'imagick' driver, background colors are not applied/generated.
- Upgrade to intervention/image:^3.0 HOT 1
- Laravel 11 Support HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avatar.