[Jquery][php] wiskundig conflict

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer - medior functie

Functieomschrijving Ben jij innovatief en wil jij je kennis graag delen met jouw nieuwe collega's? Lees dan snel verder! Voor een leuke opdrachtgever in de omgeving van Roosendaal zoeken wij een Symfony developer. Of je nou junior, medior of senior bent, je krijgt hier alle vrijheid en verantwoordelijkheid om jouw eigen loopbaan te ontwikkelen. Je gaat je hier bezig houden met en inspelen op de actualiteiten van jouw vakgebied. Techstack: Symfony, PHP, mySQL. Kennis van Svelte is helemaal mooi meegenomen. Bedrijfsprofiel Al sinds '99 is dit webbureau actief. De kernwaarden binnen het bedrijf zijn integer, dienstbaar en deskundig. Je komt

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. 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 in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

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 »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

Scrum Master

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 Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

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

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

Bekijk vacature »

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

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

14/05/2024 10:50:49
 
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.