[Jquery][php] wiskundig conflict

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

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 »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Front end developer

Functie Jij als front end developer gaat werken binnen de teams van onze klant, uiteraard met alle moderne technieken. Opdrachten worden echt gericht op jouw leerdoelen en jouw behoeftes. Wij hebben een omgeving gecreëerd waarin je echt jezelf kan zijn en waar echt gekeken wordt naar jouw voorkeuren. Maak je een fout? Geen probleem, leer ervan en dan ga weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en dus jezelf snel ontwikkelen. Eisen Je bent communicatief vaardig en houdt van een dynamische omgeving Je hebt HBO werk- en denkniveau Je hebt gedegen kennis

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 »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

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

27/05/2026 09:25:12
 
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.