imagerotate(), Tekst draaien, plaatje niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Front-end Developer - Juniorfunctie

Functie omschrijving Ben jij op zoek naar een uitdagende baan als front-end developer, in een informele werksfeer, waar jij echt het verschil kan maken? Wil jij graag werken voor een bedrijf dat sportiviteit en een open communicatie, hoog in het vaandel heeft staan? Dan hebben wij de perfecte vacature voor je! Voor een klein bedrijf in Rijen dat gespecialiseerd is in het omzetten van digitale woningtekeningen naar managementinformatie, zijn wij per direct op zoek naar een allround front-end developer. Jouw werkzaamheden zien er als volgt uit: Ja gaat nauw samenwerken met de back-end developer. De database structuur is volledig gebouwd

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Pagina: « vorige 1 2

Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/07/2014 17:38:46
Quote Anchor link
Om het invoegpunt van gecenteerde text te krijgen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
function centerText($text, $im_width, $im_height, $txt_height, $angle, $ttf, $ccw = false) {
    if ($angle > 90) {
        return false;
    }

    if(!$ccw) {
        $angle *= -1;
    }

    $coords = imagettfbbox($txt_height, $angle, $ttf, $text);
    // horizontaal
    $x_adjust = (($angle >= 0) ? $coords[6] : $coords[0]) * -1;
    $width = (($angle >= 0) ? $coords[2] : $coords[4]) + $x_adjust;
    $offset_x = round(($im_width - $width) / 2) + $x_adjust;
    
    // vertikaal
    $y1 = (($angle >= 0) ? $coords[5] : $coords[7]) * -1;
    $y2 =  ($angle >= 0) ? $coords[1] : $coords[3];
    $half_height = ($y1 + $y2) / 2;
    if ($angle >= 0) {
        $offset_y = round($img_height / 2) + $half_height + $y2;
    }

    else {
        $offset_y = round($img_height / 2) - $half_height + $y1;    
    }

    return array($offset_x, $offset_y);
}

$text = 'Phphulp';
$font = '../fonts/arial.ttf';
$offset = centerText($text, 350, 150, 14, 30, $font);
imagettftext($img, 14, 330, $offset[0], $offset[1], $color, $font, $text);
?>
Gewijzigd op 18/07/2014 13:29:18 door Ger van Steenderen
 
PHP hulp

PHP hulp

24/11/2024 04:46:23
 
Peter  Flos

Peter Flos

17/07/2014 17:55:27
Quote Anchor link
Ger, wat doet dat script exact? Ik zie op regel 3 staan

if ($angle > 90) {

Dus als de rotatie groter is dan 90 graden dan blokkeert het script neem ik aan?

Verder, centreert dit script de tekst?

Klein foutje op regel 1, $ttf moet $font zijn.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/07/2014 21:14:11
Quote Anchor link
>> Dus als de rotatie groter is dan 90 graden dan blokkeert het script neem ik aan?

Yep, een beetje geanticipeerd op het naamplaatje ;-) (we willen geen visite met een verrekte nek)

>> Verder, centreert dit script de tekst?

Dat is wel de bedoeling.
Maar dit is wel een basis voorbeeld.

Hoe imagettfbbox werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
D                     C
+---------------------+
|                     |
| o < invoegpunt      |
+---------------------+
A                     B

Wat je van deze functie terug krijgt is een array met de x en y waardes van de hoekpunten van de gedraaide rechthoek (t.o.v het invoegpunt)
0 => Ax
1 => Ay
2 => Bx
3 => By
4 => Cx
5 => Cy
6 => Dx
7 => Dy

Dan kan je aan de hand van de hoek (en de eventuele uitlijningen) bepalen waar de text moet starten.
Gewijzigd op 17/07/2014 21:21:49 door Ger van Steenderen
 
Peter  Flos

Peter Flos

17/07/2014 22:02:39
Quote Anchor link
Top, alleen nu zit ik nog met het probleem met de achtergrond kleur...
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/07/2014 23:04:34
Quote Anchor link
Daar heb je geen last van, je zet in één keer text over het originele plaatje
 
Peter  Flos

Peter Flos

18/07/2014 11:18:19
Quote Anchor link
Ik had nog niet helemaal door dat dat de oplossing was, meer een toevoeging dacht ik.

Na even sleutelen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
function centerText($text, $im_width, $im_height, $txt_height, $angle, $font, $ccw = false) {
    if ($angle > 90) {
        return false;
    }

    if(!$ccw) {
        $angle *= -1;
    }

    $coords = imagettfbbox($txt_height, $angle, $font, $text);
    // horizontaal
    $x_adjust = (($angle >= 0) ? $coords[0] : $coords[6]) * -1;
    $width = (($angle >= 0) ? $coords[2] : $coords[4]) + $x_adjust;
    $offset_x = round(($im_width - $width) / 2) + $x_adjust;
    
    // vertikaal
    $y1 = (($angle >= 0) ? $coords[5] : $coords[7]) * -1;
    $y2 =  ($angle >= 0) ? $coords[1] : $coords[3];
    $half_height = ($y1 + $y2) / 2;
    if ($angle >= 0) {
        $offset_y = round($im_height / 2) + $half_height + $y2;
    }

    else {
        $offset_y = round($im_height / 2) - $half_height + $y1;    
    }

    return array($offset_x, $offset_y);
}

$dest = imagecreatefromjpeg('../custom_images/121536.jpg');
$im = imagecreatetruecolor(1000, 1000);
$black = imagecolorallocate($im, 0, 0, 0);
imagecolortransparent($im, $black);
$text = 'Phphulp';
$font = '0001.ttf';
$offset = centerText($text, 350, 150, 14, 30, $font);
$color = imagecolorallocate($im, 233, 14, 91);
imagettftext($im, 14, 30, $offset[0], $offset[1], $color, $font, $text);
imagecopy($dest, $im, 0, 0, 20, 13, 1000, 1000);
header('Content-Type: image/png');
imagepng($dest);
?>


Doe ik (Laatste regel):
imagepng($dest);

Krijg ik een zwarte achtergrond met de tekst

Doe ik:
imagepng($im);

Krijg ik een transparante achtergrond met de tekst

Waarom wordt de achtergrond zwart?

Afbeelding
Afbeelding
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/07/2014 13:34:24
Quote Anchor link
Nogmaals, waarom maak je een plaatje met daarin gedraaide tekst en dan over het andere plaatje zetten?
Is een extra handeling.

Er ging trouwens iets niet goed met de functie, ik heb regel 11 in het script aangepast.
Let op ook op de rotatie hoek die je opgeeft in imagettftext(). Een positieve waarde is tegen de klok in.
 
Erwin H

Erwin H

18/07/2014 14:46:23
Quote Anchor link
Waarschijnlijk vanwege mijn hints die richting op aan het begin van dit topic. Blijkbaar heb ik ook nog iets te leren, dat je bewerkingen op tekst kunt doen zonder er eerst een plaatje van te maken.
 
Peter  Flos

Peter Flos

18/07/2014 16:18:19
Quote Anchor link
Exact wat Erwin zegt, maar zo leren we ook nog van elkaar :) Regel 11 overgenomen, Ger, tevens is dit nu het totaal (Werkt!) (En ik heb er ook nog van geleerd :))

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
function centerText($text, $im_width, $im_height, $txt_height, $angle, $font, $ccw = false) {
    if ($angle > 90) {
        return false;
    }

    if(!$ccw) {
        $angle *= -1;
    }

    $coords = imagettfbbox($txt_height, $angle, $font, $text);
    // horizontaal
    $x_adjust = (($angle >= 0) ? $coords[6] : $coords[0]) * -1;
    $width = (($angle >= 0) ? $coords[2] : $coords[4]) + $x_adjust;
    $offset_x = round(($im_width - $width) / 2) + $x_adjust;
    
    // vertikaal
    $y1 = (($angle >= 0) ? $coords[5] : $coords[7]) * -1;
    $y2 =  ($angle >= 0) ? $coords[1] : $coords[3];
    $half_height = ($y1 + $y2) / 2;
    if ($angle >= 0) {
        $offset_y = round($im_height / 2) + $half_height + $y2;
    }

    else {
        $offset_y = round($im_height / 2) - $half_height + $y1;    
    }

    return array($offset_x, $offset_y);
}

$im = imagecreatefrompng('../images/rvs_1_empty.png');
$black = imagecolorallocate($im, 0, 0, 0);
$text = 'Phphulp';
$font = '../ttf/0002.ttf';
imagecolortransparent($im, $black);
$offset = centerText($text, 350, 150, 14, 50, $font);
$color = imagecolorallocate($im, 233, 14, 91);
imagettftext($im, 14, 30, $offset[0], $offset[1], $color, $font, $text);
header('Content-Type: image/png');
imagepng($im);
?>


Ik wil iedereen die mij hierbij heeft geholpen hartelijk bedanken!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/07/2014 20:48:02
Quote Anchor link
Staat de text ook in het midden?
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.