[Jquery][php] wiskundig conflict

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

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 »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

C#.NET Developer

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 »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

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 »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

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

06/05/2024 17:39:48
 
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.