[Jquery][php] wiskundig conflict

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

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 »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

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 »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Back end developer Digital Agency

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 »

Webshop beheerder / Fullstack developer

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

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

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 »
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/10/2024 12:50:35
 
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.