[Jquery][php] wiskundig conflict

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

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 »

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Magento developer

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 back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

Bedrijfsomschrijving Deze werkgever is marktleider in de Benelux en is Europees ook al aardig aan de weg aan het timmeren. Ze voorzien technische winkels van apparatuur om producten een langer leven te geven. Hiermee reduceren ze flink wat CO2 uitstoot en dat is natuurlijk goed voor iedereen! IT speelt een belangrijke rol in de bedrijfsvoering en de applicaties zijn van goed niveau. Als fullstack .NET developer ga jij je bijdrage leveren aan het verder verbeteren van de applicaties en de interne processen. Ze zijn nu met ruim 50 medewerkers in totaal en de afdeling development bestaat uit een 5tal developers.

Bekijk vacature »
Php knipper

php knipper

31/01/2015 18:14:57
Quote Anchor link
Hallo,

ik heb een cover knipper voor het maken van een langwerpige foto voor bovenaan de pagina. Maar bij het opslaan gaat het mis. Als je een url of een bestand selecteert komt er een vak over de foto te staan in het voorbeeld venster. dit kun je verschuiven over de foto. de coördinaten worden opgeslagen in de velden eronder.

bij het opslaan wordt de foto geüpload en de coördinaten doorgestuurd, php probeert opnieuw dit vak te maken maar houd rekening met de aspect ratio zodat het altijd dezelfde afmetingen heeft. Maar er gaat iets mis, de output is vaak zo dat het lijkt of de kader naar beneden is gezakt.

Jquery
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
<div id="voorbeeld">
                                            <?php
                                                if(file_exists('hosting/movie/'.$movie['foto_token'].'/cover.jpg')) {
                                                    echo '<img id="crop_img" src="http://moviechecker.be/hosting/movie/'.$movie['foto_token'].'/cover.jpg?'.time().'" width="100%">';
                                                }
else {
                                                    echo '<img id="crop_img" src="http://moviechecker.be/hosting/movie/'.$movie['foto_token'].'/200.jpg" width="100%">';
                                                }

                                            ?>

                                            <div id="resizable"></div>
                                        </div>
                                        <div style="display:none;">
                                            <input type="text" name="img_width" id="img_width"><br>
                                            <input type="text" name="img_height" id="img_height"><br>
                                            <input type="text" name="source_x" id="source_x"><br>
                                            <input type="text" name="source_y" id="source_y"><br>
                                        </div>
                                        
                                        <script>
                                            $(document).ready(function () {
                                                
                                                <!-- inladen voorbeeld (exstern) -->
                                                    $("#poster_file").on('change', function() {
                                                        $("#poster_url").val("");
                                                        var input = this;
                                                        if ( input.files && input.files[0] ) {
                                                            var FR= new FileReader();
                                                            FR.onload = function(e) {
                                                                $('#crop_img').attr("src", e.target.result);
                                                                $("#poster_voorbeeld").val(e.target.result);
                                                                add_window();
                                                            };      
                                                            FR.readAsDataURL(input.files[0]);
                                                        }
                                                    });
                                                    
                                                    $("#poster_url").on('change', function() {
                                                        $("#poster_file").val("");
                                                        var input = $(this).val();
                                                        $("#crop_img").attr("src", input)
                                                        $("#poster_voorbeeld").val(input);
                                                        add_window();
                                                    });    
                                                
                                                <!-- window invoegen -->
                                                    function add_window() {
                                                        var img_width = $('#crop_img').width();
                                                        var img_height = $('#crop_img').height();
                                                        var cover_width = '1200';
                                                        var cover_height = '375';
                                                        var drag_width = img_width;
                                                        var drag_height = cover_height / cover_width * drag_width;
                                                        
                                                        $('#resizable').css('width', drag_width);
                                                        $('#resizable').css('height', drag_height);
                                                        $('#resizable').css('top', '0');
                                                        $('#resizable').css('left', '0');
                                                    }    
                                                
                                                <!--  Slepen-->
                                                    $("#resizable").draggable({     containment: "parent",
                                                                    cursor: "move",
                                                                    stop: function() {
                                                                        $("#crop_img").css('opacity', '1')
                                                                    
                                                                        var position = $('#resizable').position();
                                                                        var position_img = $('#crop_img').position();
                                                                        var w = $('#resizable').width();
                                                                        $("#img_width").val(w)
                                                                        var h = $('#resizable').height();
                                                                        $("#img_height").val(h)
                                                                        var x = position.left;
                                                                        $("#source_x").val(x)
                                                                        var y = position.top;
                                                                        $("#source_y").val(y)
                                                                    },
                                                                    drag: function() {
                                                                        $("#crop_img").css('opacity', '0.25');
                                                                        var position = $('#resizable').position();
                                                                        var position_img = $('#crop_img').position();
                                                                        var w = $('#resizable').width();
                                                                        $("#img_width").val(w)
                                                                        var h = $('#resizable').height();
                                                                        $("#img_height").val(h)
                                                                        var x = position.left;
                                                                        $("#source_x").val(x)
                                                                        var y = position.top;
                                                                        $("#source_y").val(y)
                                                                    }  
                                                            });
                                                    var img_width = $('#crop_img').width();
                                                    var img_height = $('#crop_img').height();
                                                    $("#parent_container").width(img_width);
                                                    $("#parent_container").height(img_height);
                                                
                                                $('#crop_img').one('load',function() {
                                                    add_window();
                                                });
                                            
                                            });
                                        </script>


php
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
<?php
                if($upload !== NULL) {
                    /*=== gegevens ophalen en berekenen ===*/
                        $cover_width = '1200';
                        $cover_height = '375';
                        
                        $vb_img_width = $_POST['img_width'];
                        $vb_img_height = $_POST['img_height'];
                        $vb_grop_width = $vb_img_width;
                        $vb_grop_height = $cover_height / $cover_width * $vb_grop_width;
                        $vb_grop_hoogte = $_POST['source_y'];
                        
                        list($org_img_width, $org_img_height ) = getimagesize('hosting/movie/'.$movie['foto_token'].'/cover_full.jpg');
                        $org_grop_width = $org_img_width;
                        $org_grop_height = ($cover_height / $cover_width) * $org_grop_width;
                        $org_grop_hoogte = ($vb_grop_hoogte / $vb_img_height) * $org_img_height;
                        
                    /*=== foto bijwerken ===*/
                        if($org_img_width !== $cover_width && $org_img_height !== $cover_height) { /*perfecte afmetingen*/
                            if($org_grop_hoogte >= 0 && $org_grop_height + $org_grop_hoogte <= $org_img_height && $org_grop_width == $org_img_width) { /*buiten beeld*/
                                $cover = imagecreatetruecolor($cover_width, $cover_height); /*aanmaken van cover*/
                                $cover_full = imagecreatetruecolor($org_grop_width, $org_grop_height); /*aanmaken van cover*/
                                $full = imagecreatefromjpeg('hosting/movie/'.$movie['foto_token'].'/cover_full.jpg'); /*volledige cover in variabel zwieren*/
            
                                imagecopy($cover_full , $full, 0, 0, 0, $org_grop_hoogte, $org_grop_width, $org_grop_height );
                                imagecopyresized($cover, $cover_full, 0, 0, 0, 0, $cover_width, $cover_height, $org_grop_width, $org_grop_height);
            
                                if(!imagejpeg($cover, 'hosting/movie/'.$movie['foto_token'].'/cover.jpg', 100)) {
                                    $foutlijst_html = 'Er is een fout opgetreden bij het verkleinen van de poster.';
                                    $upload = NULL;
                                }
else {
                                    logboek($film_id, 'update', 'Toevoegen van film, stap 5.', array('cover' => 'hosting/movie/'.$movie['foto_token'].'/cover.jpg'));
                                    header('location: http://moviechecker.be/movie/'.$film_id.'/'.url_titel($movie['titel']));
                                }
                            }
else {
                                $foutlijst_html = 'Het geselecteerde gebied is buiten het berijk van de cover.';
                                $upload = NULL;
                            }
                        }
else {
                            $foutlijst_html = 'De afmetingen van de cover zijn al perfect.';
                            $upload = NULL;
                        }
                }

?>
Gewijzigd op 31/01/2015 19:47:00 door Php knipper
 
PHP hulp

PHP hulp

26/04/2024 13:02:44
 
Pipo Clown

Pipo Clown

31/01/2015 18:49:18
Quote Anchor link
Dit is een nieuw spelletje ?

Nu is het de bedoeling dat wij gaan raden wat er mis gaat ?
Dat wij gaan raden wat reze code moet doen ?
Dat wij gaan raden waar het mis gaat ?
Dat wij gaan raden waarom het mis gaat ?

Ik hou niet zo erg van dit soort spelletjes geloof ik maar succes met de andere medespelers.
 
Php knipper

php knipper

31/01/2015 19:47:40
Quote Anchor link
Sorry, ik had het te druk met mijn klein broertje dat ik vergeten was er een bericht bij te zetten. Ik heb het bijgewerkt.
 
Thomas van den Heuvel

Thomas van den Heuvel

31/01/2015 20:52:51
Quote Anchor link
source_y is de afstand tot de bovenkant van het venster / de afbeelding.

Dit is toch niet hetzelfde als de hoogte van het venster / de afbeelding zelf?

Of heeft de cover een vaste afmeting?

Wat ik zou doen:
- reduceer het aantal variabelen in je PHP-code en geef deze betere omschrijvingen
- stel een voorbeeld op waarvan je weet welke berekende waarden het zou moeten hebben
- dump deze waarden in je PHP-script
- teken wat situaties op papier

Ik denk dat dat het snelste is om dit ding te debuggen (en het dus wss ergens in het PHP-script misgaat).
Gewijzigd op 31/01/2015 20:54:04 door Thomas van den Heuvel
 
Php knipper

php knipper

31/01/2015 21:36:19
Quote Anchor link
De afmetingen van de cover staan inderdaat vast:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$cover_width
= '1200';
$cover_height = '375';
?>


Ik dacht aan de komma getallen want het is afhakelijk van de grote van de foto in hoever het mis loopt.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/02/2015 00:03:36
Quote Anchor link
De variabele $vb_grop_height wordt nergens gebruikt.

Heb je al eens een plaatje getekend (pen en papier) om het effect van bovenstaande code na te bootsen?
 



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.