imagerotate(), Tekst draaien, plaatje niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

SQL developer

Functieomschrijving Voor een erkende werkgever in de omgeving van Tilburg zijn wij op zoek naar een ervaren SQL ontwikkelaar. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt er als volgt uit te zien: Het ontwerpen en implementeren van databaseschema's: Je bent in staat om een database te ontwerpen en de structuur van tabellen, relaties, indexen en andere objecten te definiëren; Het schrijven van complexe SQL-query's: Je kunt complexe query's schrijven om gegevens uit de database

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Medior Java developer

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 »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Frontend Developer Vue Nuxt HBO Javascript

Samengevat: Deze werkgever levert elke dag betere digitale gebruikerservaringen. Ben jij geschikt als frontend Developer? Heb je ervaring met Vue en Nuxt? Vaste baan: Front-End Developer HBO €3.100 - €4.600 Zij bieden opdrachtgevers een complete dienstverlening op gebied van ontwerpen en ontwikkelen van websites, zoekmachine optimalisatie, online adverteren, content marketing en conversie verbetering. Zij werken met een eigen ontwikkeld CMS. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Pagina: 1 2 volgende »

Peter  Flos

Peter Flos

15/07/2014 14:56:43
Quote Anchor link
Dag,

Zojuist met jQuery in mijn andere topic opgelost dat de tekst schuin komt. Als eerste een screen van de pagina:

Afbeelding

Op deze pagina kan je zelf een "Naambord" ontwerpen, door middel van verschillende Lettertypes, Groottes en je kunt sinds net ook een tekst draaien zodat je echt je "Eigen" bord kan ontwerpen.

Een stuk van de code:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
// Dit is enkel voor regel 1, regel 2 en 3 zouden worden herhaald.
// Y waardes definieren omdat deze afhankelijk zijn van de fontsize

if($_POST['Lettergrootte1'] == '16'){
$Y1 = $_POST['Y1'] - 340;
}

if($_POST['Lettergrootte1'] == '18'){
$Y1 = $_POST['Y1'] - 335;
}

if($_POST['Lettergrootte1'] == '20'){
$Y1 = $_POST['Y1'] - 335;
}

if($_POST['Lettergrootte1'] == '24'){
$Y1 = $_POST['Y1'] - 330;
}

if($_POST['Lettergrootte1'] == '28'){
$Y1 = $_POST['Y1'] - 328;
}

if($_POST['Lettergrootte1'] == '32'){
$Y1 = $_POST['Y1'] - 325;
}

if($_POST['Lettergrootte1'] == '36'){
$Y1 = $_POST['Y1'] - 320;
}

if($_POST['Lettergrootte1'] == '40'){
$Y1 = $_POST['Y1'] - 315;
}

// Ook Regel 2
// Ook Regel 3
// Hierna worden de sessies aangemaakt als de ingevoerde tekst niet leeg is

if(!empty($_POST['Regel1'])){
$_SESSION['Tekst1'] = $_POST['Regel1'];
}

// Zelfde geld voor de andere regels, uitlijningen en lettertypes etc.
// Lettergrootte in CSS verschilt met die van PHP, dus moeten we ze kleiner maken

if(!empty($_POST['Lettergrootte1'])){
$_SESSION['Lettergrootte1'] = $_POST['Lettergrootte1'] - (10 * $_POST['Lettergrootte1'] / 40);
}

// Zelftape gekozen, dan krijg je het plaatje zonder gaatjes erin
if($_SESSION['Bevestigingsmateriaal'] == 'Zelftape'){
$im = imagecreatefrompng('../images/rvs_1_empty_Geen_Gaatjes.png');
}

// Gaatjes gekozen, dan krijg je die ook in je plaatje
if($_SESSION['Bevestigingsmateriaal'] == 'Gaatjes'){
$im = imagecreatefrompng('../images/rvs_1_empty.png');
}

// Verplicht: Tekstkleur
$text_color = imagecolorallocate($im, 0, 0, 0);
// Mensen hebben keuze uit lettertypes, dus laden we wel het juiste lettertype in ;)
$font = '../ttf/'.$_SESSION['Lettertype'].'.ttf';
// Regel 1 ingevuld, dan plakken wij die op de tekst
if(!empty($_SESSION['Tekst1'])){
// Plaatje maken  | Lettergrootte                 | X (Links/Rechts)|Y(Boven/Beneden)|Kleur      |Lettertype | Tekst
imagettftext($im, $_SESSION['Lettergrootte1'], 0, $_SESSION['X1'], $_SESSION['Y1'], $text_color, $font, $_SESSION['Tekst1']);
}

// Regel 2 en 3 komen normaal ook
// Opslaan in de map

imagejpeg($im, '../custom_images/'.$Unique_ID_Image.'.jpg');
?>

Als er opmerkingen aan het bovenstaande zijn graag melden.

Wat ik nu wil, is dat de tekst, welke een persoon kan draaien (bijv. 50 Graden), dat deze ook gedraaid komt. Met de waarde $_POST['Draaien1'] (Draaien2 voor regel 2 etc.), kan ik opvragen hoeveel graden de tekst gedraaid hoort te zijn. PHP geeft beschikking tot de functie imagerotate(), echter draait dan het hele plaatje mee. Hoe los ik dit op, dat enkel de tekst draait?
 
PHP hulp

PHP hulp

24/11/2024 02:36:02
 
Erwin H

Erwin H

15/07/2014 15:06:13
Quote Anchor link
Dat kan je toch doen door voor de tekst apart een image te maken (zonder achtergrondkleur), dat image te draaien en dat dan bovenop het andere te plakken?
 
Peter  Flos

Peter Flos

15/07/2014 15:34:36
Quote Anchor link
Ik heb even als test een plaatje aangemaakt, transparant:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$im
= imagecreate(150, 30);
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);
$Grootte = 10;
$X = 10;
$Y = 10;
$Tekst = 'Hallo Wereld!';
imagestring($im, $Grootte, $X, $Y, $Tekst, $textcolor);
imagejpeg($im, '../custom_images/test.jpg');
echo "<img src='../custom_images/test.jpg'>";
?>


Hiermee krijg ik netjes een plaatje, maar hoe kan ik nu dit plaatje op het andere plaatje zetten?
 
Erwin H

Erwin H

15/07/2014 15:37:14
Quote Anchor link
Met imagecopymerge moet je dat kunnen doen.
 
Peter  Flos

Peter Flos

15/07/2014 22:08:14
Quote Anchor link
Goed, ik heb nu het volgende:

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
<?php
$im
= imagecreate(345, 86);
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);
$Grootte = 10;
$X = 10;
$Y = 10;
$Tekst = 'Hallo Wereld!';
imagestring($im, $Grootte, $X, $Y, $Tekst, $textcolor);
imagejpeg($im, '../custom_images/test.jpg');
  $Tekst = imagecreatefromjpeg("../custom_images/test.jpg");
  $BG = imagecreatefromjpeg("../custom_images/112613.jpg");
  imagecopymerge($Tekst,$BG,  0, 0, 0, 0, 345, 86,100);
  header('Content-type: image/jpeg');
  imagejpeg($Tekst);
?>


Dit is met imagecopymerge. Probleem: Ik krijg 1 van de 2 plaatjes te zien. Verander ik de 100 in 50, krijg ik beide plaatjes wazig te zien.

Gebruik ik imagecopy, hetzelfde (Parameter met transparency moet er dan uit).

Is het mogelijk om beide plaatjes op 100% te krijgen, dus eerst de achtergrond, dan de tekst?
 
Erwin H

Erwin H

15/07/2014 23:02:37
Quote Anchor link
Maar nu zet je geen transparante achtergrond, dat doe je door een kleur transparant te maken. Wat je nu alleen doet is het hele plaatje (dus ook de tekst) deels transparant maken.

Hier een voorbeeld wat ik zelf gebruik voor het maken van een banner. Tekst is weliswaar niet gedraaid, maar het idee is hetzelfde. Ik maak hier een text aan met een soort schaduw. Die schaduw wordt gemaakt door text op een transparante achtergrond te zetten, dat plaatje met een blur filter te bewerken en vervolgens dat hele plaatje op het origineel te plakken en daar dan nog eens overheen de normale text te plaatsen.
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
<?php
  /**
   * Add some text to the image. Both text color and shadow color need to be
   * given.
   * @param resource $img
   * @param string $text
   * @param resource $shadowColor
   * @param resource $textColor
   * @param int $size
   * @param int $left
   * @param int $top
   * @param resource $fontPath
   */

  private function addText( $img, $text, Color_Class $shadowColor, Color_Class $textColor, $size, $left, $top, $fontPath ){
    //create a new layer to place the text shadow on
    $imgLayer = imagecreate( self::BANNER_WIDTH, self::BANNER_HEIGHT );

    //create color and make background transparent
    $background = imagecolorallocate( $imgLayer, 0, 0, 0 );
    imagefill( $imgLayer, 0, 0, $background );
    imagecolortransparent( $imgLayer, $background );

    //create the shadow text if the text color is not black
    if ( !$this->textColorIsBlack( $textColor ) ){
      $shadowClr = imagecolorallocate( $imgLayer, $shadowColor->getR(), $shadowColor->getG(), $shadowColor->getB() );
      imagettftext( $imgLayer, $size, 0, $left, $top, $shadowClr, $fontPath, $text );
      imagefilter( $imgLayer, IMG_FILTER_GAUSSIAN_BLUR );    

      imagecopymerge( $img, $imgLayer, 0, 0, 0, 0, self::BANNER_WIDTH, self::BANNER_HEIGHT, 100 );
    }


    //add the final text
    $txtClr = imagecolorallocate( $img, $textColor->getR(), $textColor->getG(), $textColor->getB() );
    imagettftext( $img, $size, 0, $left, $top, $txtClr, $fontPath, $text );
  }

?>
Gewijzigd op 15/07/2014 23:03:15 door Erwin H
 
Peter  Flos

Peter Flos

16/07/2014 17:25:19
Quote Anchor link
Ben er nu vanaf 9 uur in de ochtend mee bezig, maar heb verder ook helemaal niks kunnen vinden op internet. De code van Erwin kom ik niet in zijn geheel uit...
Ik heb nu dit:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct)
{

    if (!isset($pct)) {
        return false;
    }


    $pct/= 100;

    // Get image width and height

    $w = imagesx($src_im);
    $h = imagesy($src_im);

    // Turn alpha blending off

    imagealphablending($src_im, false);

    // Find the most opaque pixel in the image (the one with the smallest alpha value)

    $minalpha = 127;
    for ($x = 0; $x < $w; $x++)
    for ($y = 0; $y < $h; $y++) {
        $alpha = (imagecolorat($src_im, $x, $y) >> 24) & 0xFF;
        if ($alpha < $minalpha) {
            $minalpha = $alpha;
        }
    }


    // loop through image pixels and modify alpha for each

    for ($x = 0; $x < $w; $x++) {
        for ($y = 0; $y < $h; $y++) {

            // get current alpha value (represents the TANSPARENCY!)

            $colorxy = imagecolorat($src_im, $x, $y);
            $alpha = ($colorxy >> 24) & 0xFF;

            // calculate new alpha

            if ($minalpha !== 127) {
                $alpha = 127 + 127 * $pct * ($alpha - 127) / (127 - $minalpha);
            }

            else {
                $alpha+= 127 * $pct;
            }


            // get the color index with new alpha

            $alphacolorxy = imagecolorallocatealpha($src_im, ($colorxy >> 16) & 0xFF, ($colorxy >> 8) & 0xFF, $colorxy & 0xFF, $alpha);

            // set pixel with the new color + opacity

            if (!imagesetpixel($src_im, $x, $y, $alphacolorxy)) {
                return false;
            }
        }
    }


    // The image copy

    imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
}


$img=imagecreatetruecolor(150,20);
imagealphablending($img,false);

$col=imagecolorallocatealpha($img,255,255,255,127);
imagefilledrectangle($img,0,0,180,20,$col);
imagealphablending($img,true);

$font='../ttf/0001.ttf';
$color = imagecolorallocate($img, 0, 0, 0);
imagettftext($img,11,0,5,14,$color,$font,'Text goes here');

header('Content-Type: image/jpeg');
imagealphablending($img,false);
imagesavealpha($img,true);
imagejpeg($img, '../custom_images/test.jpg');
// Create image instances

$dest = imagecreatefromjpeg('../custom_images/121536.jpg');
$src = imagecreatefromjpeg('../custom_images/test.jpg');
$width = imagesx($src);
$height = imagesy($src);
imageantialias($src, true);
$color = imagecolorallocatealpha($src, 0, 0, 0, 127);
$rotated = imagerotate($src, 0, $color);
imagesavealpha($rotated, true);

// $trans_colour = imagecolorallocatealpha($rotated, 0, 0, 0, 127);
// imagefill($rotated, 0, 0, $trans_colour);


imagepng($rotated, 'shahid.png');
$new_img = imagecreatefrompng('shahid.png');
$width = imagesx($new_img);
$height = imagesy($new_img);

// imagecopymerge($dest, $new_img, 50, 50, 0, 0, $width+60, $height+60, 100);

imagecopymerge_alpha($dest, $new_img, 0, 20, 0, 0, $width, $height, 100);

// Output and free from memory

header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>


2 dingen:

1) Tekst achtergrond is wit, niet transparant
2) Ik wil de Width en Height exact hebben, dit verschilt echter per tekst (Ene tekst is langer dan de andere), anders kan ik niet draaien.
 
Erwin H

Erwin H

16/07/2014 17:45:00
Quote Anchor link
1) van je plaatje ja, van je tekst niet. Die wil je op het plaatje hebben, dus als je daar een achtergrondkleur instelt dan zal dat alles overlappen en zie je niets meer van de rest van je plaatje.
2) los het eerst op met een test. Die width en height maakt in eerste instantie niet zoveel uit, want het gaat om de tekst die je eroverheen plakt. Tenzij de tekst precies passend moet zijn van links naar rechts en boven tot onder, maakt de width en height van de tekst dus niet zoveel uit.
 
Peter  Flos

Peter Flos

16/07/2014 20:14:45
Quote Anchor link
1) ga ik morgen verder mee, zit nu in de auto
2) dit is wel de bedoeling omdat de tekst moet draaien, waardoor de tekst anders lager komt. Dan klopt het voorbeeld nietmeer.

Tevens is alles in een test bestand.
 
Erwin H

Erwin H

16/07/2014 21:37:50
Quote Anchor link
2) Nee, in de functie imagecopymerge kan je precies aangeven waar op het origineel het gecopieerde plaatje moet komen. Dat kan dus veel groter of kleiner zijn.
 
Peter  Flos

Peter Flos

17/07/2014 10:46:18
Quote Anchor link
Betreft 1) Hoe doe ik dit, de achtergrond instellen? Ik probeerde dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$black = imagecolorallocate($img, 0, 0, 0);
imagecolortransparent($img, $black);


Toe te voegen, werkt niet.

2) Stel, ik heb het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
|---------------|
|Tekst          |
|---------------|

(Plaatje)

En ik draai dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
---
| |
| |
| |
| |
|T|
|S|
|K|
|E|
|T|
---


Dan gaat dit deel dus een stuk lager op het bord staan dan hoort, of denk ik nu verkeerd?
 
Erwin H

Erwin H

17/07/2014 11:21:54
Quote Anchor link
Daar kan ik niets mee 'werkt niet'. Als je het goed doet werkt het wel.

Over dat tweede stuk kan ik zo ook niets zeggen. Dat ligt er helemaal aan hoe je het doet en wat je wilt. Dit is te algemeen.
 
Peter  Flos

Peter Flos

17/07/2014 12:29:03
Quote Anchor link
Wat doe ik dan verkeerd? Want ik zie niet in wat ik dan verkeerd doe daarin.

Zie mijn eerste screentje betreft "Hoe ik het wil", met jQuery kan je de tekst draaien en dat wil ik dan terugzien in het voorbeeld, het plaatje wat er dan gemaakt wordt met de tekst. Dus stel, ik draai de tekst 10 graden, dan moet ik dat ook op het plaatje zien welke door PHP is gemaakt.
 
Victor G

Victor G

17/07/2014 12:34:52
Quote Anchor link
Ik heb niet alles gelezen, maar kan je met je voorbeeld ook niet gewoon jQuery gebruiken aangezien het al werkt? Nu ga je twee dingen maken die in principe het zelfde doen. Als je nou gewoon die waarde van de post gebruikt om de angle in te stellen ben je toch klaar?

Sidenote: alvast sorry als ik het verkeerd begrepen heb.
 
Erwin H

Erwin H

17/07/2014 12:55:07
Quote Anchor link
Als ik vanmiddag tijd (en zin) heb zal ik even kijken of ik een simpel werkend voorbeeld in elkaar kan zetten.
 
Peter  Flos

Peter Flos

17/07/2014 13:46:37
Quote Anchor link
Victor G op 17/07/2014 12:34:52:
Ik heb niet alles gelezen, maar kan je met je voorbeeld ook niet gewoon jQuery gebruiken aangezien het al werkt? Nu ga je twee dingen maken die in principe het zelfde doen. Als je nou gewoon die waarde van de post gebruikt om de angle in te stellen ben je toch klaar?

Sidenote: alvast sorry als ik het verkeerd begrepen heb.



jQuery kan geen image maken in PHP, PHP is server-side, jQuery client-side.

Alvast bedankt Erwin.
 
Victor G

Victor G

17/07/2014 13:59:06
Quote Anchor link
Dat snap ik, maar waarom wil je dit met PHP doen? Je kan dit toch ook met jQueury doen? Je wil een voorbeeld maken, maar je hebt al een live voorbeeld. Gebruik die waardes dan in je jQuery.
 
Peter  Flos

Peter Flos

17/07/2014 14:09:53
Quote Anchor link
Ik heb een live voorbeeld welke ik op de volgende pagina en in een email wil laten zien, dit gaat niet met jQuery neem ik aan omdat het plaatje op de server moet staan. Hoe zou je het met jQuery doen?
 
Victor G

Victor G

17/07/2014 16:26:33
Quote Anchor link
Nee dat gaat inderdaad niet, ik zal vanavond ook wel even wat in elkaar prutsen als Erwin me niet voor is.

En als ik zin & tijd heb.
 
Peter  Flos

Peter Flos

17/07/2014 16:51:58
Quote Anchor link
Ook alvast bedankt, gaat veel tijd zitten in één zo'n functie zeg...
 
Erwin H

Erwin H

17/07/2014 17:30:20
Quote Anchor link
Die GD library is erg krachtig.... maar niet erg makkelijk. Gaat dus inderdaad wel even wat tijd inzitten, maar uiteindelijk krijgen we het vast aan de praat.
 

Pagina: 1 2 volgende »



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.