>>>><?php
case 'BMP':
$im = imagecreatefrombmp($_POST['x']);
break;
?><<<<
Mij kent geen imagecreatefrombmp, laat staan een functie die BMP in kan lezen. Behalve dan de homebrew-functies dan. Maar dat is niet standaard meegeleverd en dus ook niet handig om in zo'n script te zetten.
>>>>
Het resultaat is GIGANTISCH groot, maar het is handig voor diegenen die het willen gebruiken.
<<<<
Ja, en niet een beetje gigantisch ook. Noem dat maar gewoon gigaGIGANTISCH en niet goed voor uw bandbreedte. Misschien had je het beter als className kunnen doen?
Het was zelfs beter als je het gewoon als grote JS te doen:
Bijv zo:
<?php # voor kleurtjes
<script type="text/javascript">
function parseImage(){
var table = document.body.appendChild(new Element('table', {cellpadding: 0, cellspacing: 0});
var trow;
var width = 100;
var colors = [0, 16777215, 255, ....., 16711680, 65280]; // matrix van 100 x N, in dit voorbeeld: zwart, wit, blauw, ...., rood, groen.
var counter = 0;
while(counter < colors.length){
if((counter % width) == 0) trow = table.appendChild(new Element('tr'));
var col = colors[counter];
trow.appendChild(new Element('td')).setStyle({width: '1px', height: '1px', backgroundColor: ('rgb(' + (col >>18) + ', ' + ((col >> 8) & 0xFF) + ', ' + (col & 0xFF) + ')')});
++counter;
}
}
</script>
?>
Ik denk dat ik met deze code wel de weddenschap aan kan gaan dat deze sneller is. Je moet alleen de array `colors` eventjes netjes invullen.
Kan met deze waarden: (imagecolorat($im, $j, $i) & 0xFFFFFF)
Daarnaast klopt je script op dat punt ook gewoon niet:
>>>>
$rgb = imagecolorat($im, $j, $i);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$hex = "#";
$hex.=dechex($r);
$hex.=dechex($g);
$hex.=dechex($b);
<<<<
Stel dat op pixel $j, $i de kleurwaarde overeenkomt met rgb(15, 15, 15);
Jouw script produceert dan iets als: #fff. Dat komt neer op wit. Terwijl het in werkelijkheid ongeveer het donkerste grijs is wat je je kunt voorstellen.
Of bij rgb(255, 255, 0): #ffff0 --> fout in FF (verwacht ik) en wordt waarschijnlijk een blauwgroenig kleurtje in IE.
Persoonlijk vind ik dit verder niet echt een script voor in de SL.
- Het is niet algemeen bruikbaar, dan had je er iets van een class van moeten maken o.i.d., het is meer een snippet dan een script. En gezien het scriptlibrary en geen snippetlibrary heet...
- Hoe vaak zul je zoiets nodig hebben? Het is veel te kostbaar om op deze manier met je resources om te gaan, waarom zou je online een tabel met een plaatje willen tonen in plaats van een afbeelding? Copyright is ook geen reden, daar hebben we printscreen voor.
1 2 3 | Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding.
Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan. |