Toon afmetingen van gif !?

Status
Niet open voor verdere reacties.

yammaski

Gebruiker
Lid geworden
9 mrt 2005
Berichten
284
Knipsel.jpg


Hoe begin ik hier aan :
*. in de vakken "width mm" en "heigth mm" moet dit dus komen van de gif die getoond wordt (dit scriptje heb ik : zie onder***)
*. als je dan een nieuwe breedte of hoogte ingeeft, in mm, en op "calculate" klikt, moet de andere afmeting in proportie aangepast zijn

Al mijn gif.'s hebben een standaard size waarbij de grootste steeds 300px is, dit kan dus de breedte of de hoogte zijn. Deze zijn dynamisch (database) en worden getoond zoals afbeelding boven.

In denkwijze kan ik het ineen puzzelen, maar in praktische js-taal ... :confused: :
Je maakt het script wijs dat 300 px bvb 50 mm is. Je geeft een breedte in van 250 mm, dan moet het script de hoogte gewoon x5 doen en dit terug weergeven.

***
[JS]function getImgSize(id){
var pic = document.getElementById(id);
var h = pic.offsetHeight;
var w = pic.offsetWidth;
document.write('The image size is '+w+'*'+h);
}[/JS]
 
Laatst bewerkt:
Ik volg je probleem niet helemaal - wat is nou je invoer, en wat wil je berekenen?



Je maakt het script wijs dat 300 px bvb 50 mm is. Je geeft een breedte in van 250 mm, dan moet het script de hoogte gewoon x5 doen en dit terug weergeven.
iets van,[JS]var vorrigebreedte = 300;
var vorrigehoogte = 50;
var nieuwbreedte = 250;

var ratio = nieuwebreedte / vorrigebreedte; // 0.833333


var nieuwehoogte = vorrigehoogte * ratio; //41.nogwat[/JS]:thumb:
 
Laatst bewerkt:
Ik volg je probleem niet helemaal - wat is nou je invoer, en wat wil je berekenen?
Het is eigenlijk geen probleem, ik ben op zoek hoe ik dit kan uitwerken.
voorbeeld :
Een image = 300px X 120px : dit moet in de fields "dimensions" (zie afb.) komen als de pagina met de gif laadt. Maar dat moet worden weergegeven als 50 x 20 mm, reële waarden.
Als ik de sticker (image) 250 mm breed wil hebben :
typ 250 (mm) in width, klik "calculate" en dan moet in heigth 100 mm komen te staan (1500px x 600px) of omgekeerd.

kun je mijn systeem zo volgen ? :)

voorbeeld van dit : http://www.onlinesticker.nl/selecteren.php?type=tribals_en_vlammen selecteer een afbeelding > GA VERDER > dan zie je het systeem ongeveer.
 
Hoi yammaski,
Hier vrees ik met groten vreze! :confused:

Een pixel op de ene monitor (of: bij de ene resolutie) is op een andere monitor (of: bij een andere resolutie) niet even groot...
Dan valt een vertaalslag van pixels naar mm (of omgekeerd) niet te maken.
  • Tenzij je de bezoeker vriendelijk vraagt een centimeter voor het beeldscherm te houden,
  • erbij vertelt wat de ware grootte (in mm) is van het image dat ze zien,
  • je de bezoeker vraagt via een stapjes-script (of een uitrek-script) het plaatje te vergroten of te verkleinen, net zolang tot het plaatje in mm op hun centimeter-voor-de-buis het opgegeven aantal mm van het origineel is.
  • Dan ziet men de ware grootte op zijn/haar scherm = ijkpunt.
  • Dan geeft men op hoeveel mm groot men de sticker wil hebben.
  • Dan kan dit meteen op ware grootte aan de kijker getoond worden.
  • Dan kan het script terugrekenen hoe de verhouding is ten opzichte van het aantal pixels van het origineel, en kan de bestelling geplaatst worden.
  • Maar ik geloof niet helemaal dat dit de bedoeling is. :D
Wat wel kan:
  • De afbeelding laten zien in (hoe kan het anders) pixels.
  • Erbij vertellen dat de sticker standaard de maat ... x ... mm heeft.
  • Vragen hoe groot men de sticker wil hebben (ofwel breedte in mm opgeven > script rekent bijpassende hoogte uit; ofwel hoogte in mm opgeven > script rekent bijpassende breedte uit).
  • Prijs bepalen n.a.v. opgegeven formaat.
  • In het winkelwagentje laten slingeren.
Is dit de methode die je gescript wilt hebben? - Dit is volgens mij ook de manier van je link.

Met vriendelijke groet,
CSShunter

PS:
Eventueel kan je een pdf'je presenteren, waar de afbeelding in mm op staat, al of niet met een aantal voorbeeld-vergrotingen. Als men dat print, heeft men precies het formaat, wat op een beeldscherm nooit lukt.
 
Een pixel op de ene monitor (of: bij de ene resolutie) is op een andere monitor (of: bij een andere resolutie) niet even groot...
Die pixelgrootte heeft hier niets mee te doen. 300px blijft 300px, no matter wat scherm.
Even ter verduidelijking : de image zelf moet niet veranderen van size, deze blijft zoals hij op het scherm getoond wordt. Ik wil de klant gewoon meer info geven over het formaat ALS hij de standaardmaat zou aanpassen. Als de standaardmaat 15 cm x 6 cm is en de klant wil dat de sticker 30 cm breed is, wil hij ook weten wat de hoogte wordt, hier dus 12 cm.

  • De afbeelding laten zien in (hoe kan het anders) pixels.
  • Erbij vertellen dat de sticker standaard de maat ... x ... mm heeft.
  • Vragen hoe groot men de sticker wil hebben (ofwel breedte in mm opgeven > script rekent bijpassende hoogte uit; ofwel hoogte in mm opgeven > script rekent bijpassende breedte uit).
Dat is dus helemaal de methode dat ik zoek ! ;)
Prijs bepalen en winkelwagentje ... hoeft zelfs niet, dat heb.

Het idee van het pdf'je ... het zijn meer dan 1000 voorbeelden, dus ... .


EDIT :
Tot hier heb ik het al zelf ineen kunnen puzzelen :) :
http://www.frogstyling.be/X_Tests/Test_wihe_JS2.asp
(De fields met de px moeten niet worden getoond, dit is enkel om te laten zien hoe het werkt.)
De omrekening van px naar mm kan ik niet in script zetten, maar ik dacht om voor 1px 0,25 mm te nemen (afronden op 1 mm).
De bewerking voor de aanpassing van het formaat in mm heb ik ook uitgedokterd :
new_widthmm = (entered_heightmm / original_heightmm) * original_widthmm;
new_heightmm = (entered_widthmm / original_widthmm) * original_heightmm;

Ik hoop dat ik hiermee op de goede weg ben !?
 
Laatst bewerkt:
Aha! Het is me duidelijk wat er onduidelijk is.
Ik wil de klant gewoon meer info geven over het formaat ALS hij de standaardmaat zou aanpassen. Als de standaardmaat 15 cm x 6 cm is en de klant wil dat de sticker 30 cm breed is, wil hij ook weten wat de hoogte wordt, hier dus 12 cm.
Toch ga je nog steeds uit van de pixel-formaten in de html. :p
Dat kan misschien wel, maar maakt het alleen maar ingewikkelder.
Ik heb intussen ook zitten frommelen, en kwam op deze uit:
Toch pixels?
  • Alleen als je afbeeldingen (1) exact de verhouding hoogte/breedte aangeven en (2) beeldvullend zijn, zou je de pixels als basis kunnen nemen. Er mag dan geen enkele vrije ruimte om de plaatjes zitten: niet links/rechts, en ook niet onder/boven.
  • Om het script dan eenvoudig te houden, zouden alle afbeeldingen ook onderling in de goede verhouding moeten zijn! Anders is er niet 1 methode om van pixels naar cm's te komen, maar moet er per sticker een factor toegevoegd worden om ze allemaal in verhouding te kunnen laten berekenen.
  • Om geen verspringers in het beeld te krijgen bij verschillende verhoudingen van de plaatjes, moeten die dan horizontaal en verticaal gecentreerd zitten in een element met de maximale breedte en hoogte. Dat vraagt dan weer extra html en css.
Mijn conclusie: bij voorkeur niets met getImgSize(id) doen (=pixels), maar alleen rekenen met de formaten in mm's. :D

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Bedankt voor je "stickerformaat.htm" !

Toch pixels?
Alleen als je afbeeldingen (1) exact de verhouding hoogte/breedte aangeven en (2) beeldvullend zijn, zou je de pixels als basis kunnen nemen. Er mag dan geen enkele vrije ruimte om de plaatjes zitten: niet links/rechts, en ook niet onder/boven
Mijn afbeeldingen zijn allemaal op dezelfde manier gemaakt, het zijn transparante gif's en zijn gecropt zodat er geen "vrije ruimte" meer rond zit.

Om het script dan eenvoudig te houden, zouden alle afbeeldingen ook onderling in de goede verhouding moeten zijn! Anders is er niet 1 methode om van pixels naar cm's te komen, maar moet er per sticker een factor toegevoegd worden om ze allemaal in verhouding te kunnen laten berekenen
Die pixels heb ik alleen nodig om de "verhoudingsfactor" te vinden. Elke afbeelding heeft een zijde (breed of hoog) van 300px hetgeen 150 mm voorsteld (hypothese).


Ik heb geprobeerd om mijn omrekeningsmethode bij in jouw code te knutselen, tevergeefs.:o
Zou je deze code erbij kunnen steken ? (tegen je principes weliswaar ...) Je zou mij er een groot plezier mee doen !
[JS]function getImgSize(id){
var pic = document.getElementById(id);
var wpx = pic.offsetWidth;
var hpx = pic.offsetHeight;

document.wihe.widthpx.value=(wpx);
document.wihe.heightpx.value=(hpx);

document.wihe.widthmm.value=(Math.round((wpx)*0.25));
document.wihe.heightmm.value=(Math.round((hpx)*0.25));
}[/JS]
Je mag natuurlijk je eigen naamgeving gebruiken en het verbeteren.


PS: De breedte- en hoogte-waarden bij in de database steken zie ik niet zitten.
Dan moet ik elke afb. één voor één gaan "opmeten" in mijn programma, het zijn er over de 1000 !
Mijn ontwerpje werkt niet in FF en IE8, dat van jouw werkt in FF 3.6.3, Chrome 4, IE6 - 7 en 8. De rest weet ik niet, maar dat zal wel geen probleem zijn.
 
Hoi yammaski,
Als er aan de voorwaarden voldaan wordt voor de "toch pixels", hoor je mij niet mopperen. ;)
Wel als ik 1000+ plaatjes moest aanpassen, of 1000+ extra variabelen zou moeten invoeren. :D

Nu de voorwaarden:
  1. De afbeeldingen moeten exact de verhouding hoogte/breedte aangeven > Is aan voldaan.
  2. De grootste afmeting moet beeldvullend (300px) zijn > Is aan voldaan.
  3. Alle afbeeldingen moeten ook onderling in de goede verhouding zijn. Anders is er niet 1 methode om van pixels naar cm's te komen, maar moet er per sticker een factor toegevoegd worden om ze allemaal in verhouding te kunnen laten berekenen.
    Euh! :shocked: Volgens mij is bv. een striping-sticker niet in verhouding getekend tot de taz-devil. Anders zou het wel een heel klein duiveltje zijn. :evil:
    Maar ik neem aan dat je in de database een variabele voor het echte formaat hebt zitten. Dat is dan de enige variabele die uit de database geïmporteerd hoeft te worden in het script. > Is aan te voldoen.
  4. Om geen verspringers in het beeld te krijgen bij verschillende verhoudingen van de plaatjes, moeten die dan horizontaal en verticaal gecentreerd zitten.
    Tja, hiervoor ben ik zelfs bereid een principe te laten varen :D: er een <table> in zetten om alle plaatjes mooi gecentreerd in dezelfde box te zetten. *) > Valt aan te voldoen.
Het blijkt dat offsetWidth en offsetHeight op de meeste elementen van toepassing zijn, maar uitgerekend niet op images: zie hier. Hiervoor moet clientWidth en clientHeight gebruikt worden.

... En zo kwam er dan na enige tijd pielen om de volgorde der dingen in het juiste rijtje te krijgen (het plaatje moet eerst op de pagina staan, om de pixels te kunnen uitlezen):

En voor het wettig en overtuigend bewijs: exact dezelfde pagina met alleen de src van de afbeelding verschillend:

En voor een andere verhouding tussen werkelijke grootte en het aantal pixels: alleen een andere var standaardformaat ingegeven:

Gaat dit zo lukken?

Met vriendelijke groet,
CSShunter

*) In elk geval IE6 en IE7 hebben dat nodig, anders kon mooi met {display:table-cell;} volstaan worden.
 
Laatst bewerkt:
Hi csshunter,

Waaw ... ik heb het al eens rap bekeken en het ziet er fantastisch uit ! :thumb:
Ik bouw het zo snel mogelijk in.

Euh! Volgens mij is bv. een striping-sticker niet in verhouding getekend tot de taz-devil. Anders zou het wel een heel klein duiveltje zijn.
Maar ik neem aan dat je in de database een variabele voor het echte formaat hebt zitten. Dat is dan de enige variabele die uit de database geïmporteerd hoeft te worden in het script. > Is aan te voldoen.

Die striping op je testpage geeft de juiste afmeting weer tot op de mm ! Geef 950 mm breed in, en je krijgt 67 mm hoog terug. Dit is correct !


Het blijkt dat offsetWidth en offsetHeight op de meeste elementen van toepassing zijn, maar uitgerekend niet op images:

Geen erg, de images die getoond worden hebben een vaste afmeting, hier kan je niet kiezen.


Gaat dit zo lukken?

Ik hoop het ... ik laat het je weten !
Nogmaals bedankt !!! :thumb:

P.S.: Kan ik deze scripts gebruiken/ombouwen zodat ik bij dit ook de afmetingen kan laten zien ?
 
Die striping op je testpage geeft de juiste afmeting weer tot op de mm ! Geef 950 mm breed in, en je krijgt 67 mm hoog terug. Dit is correct !
Dan was je plaatje www.frogstyling.be/Images/productShots/small/Stripings/Aurora.gif van 400px × 28px ook mooi zuiver op de graat. :)
Want dat heb ik genomen om te verkleinen tot mijn afbeelding van 300px × 21px (dat ging probleemloos afrondingsloos, want beide originele maten zijn veelvouden van 4). - Hulde aan mijn oude PaintShopPro nummertje 6!
P.S.: Kan ik deze scripts gebruiken/ombouwen zodat ik bij dit ook de afmetingen kan laten zien ?
Ik durf bijna te zeggen "Ja hoor". Maar na het proeven van een test-pudding weet je het! :D

Met vriendelijke groet,
CSShunter
 
Mmm, geen geduld genoeg om je reactie af te wachten. :o
Veel te nieuwsgierig! Er het is niet alleen "Ja hoor", maar ook "Zeker Weten" en ook relatief "Makkie" (na de vorige). :D

De formaten zijn hier opgehangen aan de bovenste optie, maar de twee invulvakjes kunnen herhaald worden voor de tweede optie; zodat men de formaten van verschillende lettertypen kan vergelijken bij dezelfde hoogte of breedte.
  • Voor de reset-knop heb ik reload() aangeroepen met een hand-made cleanData() erbij: om ook alle ingevulde velden te resetten, maar of het erachter rijdende winkelwagentje dat leuk vindt weet ik niet. Anders moet dat anders.
  • Er moet bij verteld worden, dat als men een gebroken getal wil invoeren (5,5 hoog bv.), er dan een punt i.p.v. een komma gebruikt moet worden (5.5); anders doet deze Engelstalige cijfermachine het niet.
  • Met javascript kan van een komma ook automatisch een punt gemaakt worden, maar dat moet waarschijnlijk met een Reguliere Expressie, en daar ben ik gans niet van op de hoogte. ;) Dus al je dat wilt, moet je hier even een echte deskundige scriptoloog oproepen, die het zo kan vertellen.
  • O ja, er zou ook nog op een of andere manier een alertje bij kunnen als in het andere vakje NaN verschijnt (Not-A-Number): "U heeft iets fout ingetikt > probeer svp opnieuw." - Want "frog" invullen bij de hoogte levert niet de bij de hoogte van een kikker passende breedte. :p
Succes ermee!
CSShunter
 
Laatst bewerkt:
Danwel overbodig, maar hier 2 centen: in plaats van Math.round met een deel/vermenigvuldig zoals dit[JS]Math.round(10*nieuweHoogte)/10;[/JS]kan je ook .toFixed() gebruiken:[JS]nieuweHoogte.toFixed(1); // haal alles achter de decimaal weg behalve 1 cijfer[/JS], mocht afronden niet de bedoeling zijn. Zie hier.

Om punten EN comma's toe te laten kan je van dit
[js]var nieuweBreedte = obj.value;[/js]
dit maken[js]var nieuweBreedte = parseInt(obj.value.replace(',', '.'), 10);[/js]

NaN kan via de isNaN() functie worden gechecked. Zoiets:[js]//var nieuweBreedte = ....;

if(isNaN(nieuweBreedte))
{
alert('Oh noes, geen echt getal!');
}else{
//berekeningen
}[/js]
 
Laatst bewerkt:
Kijk, daar is onze scriptoloog al ! :)
- En alweer wat geleerd.

Met vriendelijke groet,
CSShunter

<elsetopic>@ Vegras: ik broed nog wat op de 133-staafjesbalk, maar moet eerst nog wat experimenteren voordat er misschien een eitje uitkomt. Ik kom er in elk geval nog op terug.</elsetopic>
 
Bedankt weeral ! :thumb:

Maar kan het zijn dat er een foutje in zit ?
Ik heb vanalles geprobeerd met de afmetingen/verhoudingen in een tekenprog. Ik denk dat de functie het tussenwit en/of wit van de letter niet meetelt. Hij geeft enkel de effectieve gevulde pixels weer (volgens mij hee). Test eens met één hoofdletter "E" met bvb 5 cm hoog. Onthoud de breedte en neem dan 5x "E" , dan merk je het dat de tussenruimtes niet meegeteld zijn.




P.S. : Ik heb een voorbeeldje gemaakt met de juiste afmetingen in mm. Het bovenste is "arial black" font en het onderste is "impact". Je kan dit misschien nemen als referentie. Een paar mm kan daar wel op zitten, maar geen paar cm !
 
Oeps! Daar had ik toch, geheel tegen mijn gewoonte in (blij als ik was dat de verhoudigen mooi meemarcheerden), zomaar verzuimd om alles met een tekenprogramma na te meten... :o

Dat wreekt zich nu op enen vresenlijke manier! Mijn script meet wel keurig de maten op van de <span> waar de tekst in staat, maar de <span>-hoogte is helemaal niet wat je zo zou denken. :(
Dat kunnen we zien als we de span eventjes een randje meegeven:

textGrr.png


We zien: niet alleen rekent de offsetHeight bij uitsluitend hoofdletters ook "de staartjes van de onderkast" mee, bovenop de letters zit ook een soort padding van ongeveer dezelfde hoogte extra. :shocked:
Dat scheelt een slok op een borrel! Om niet te zeggen: dat scheelt al gauw een halve borrel, want bij alleen hoofdletters wordt er zo ongeveer de helft van de hoogte ten onrechte bij opgeteld...

Zelfs al zou je de bezoeker vragen "heeft uw tekst ook staartjes?", dan nog zou je met een uit te vinden compensatiefactor alleen een hele grove benadering van de verhouding kunnen geven.
Want er speelt nog veel meer mee:

  • Bij sommige lettertypes staan de hoofdletters helemaal niet in lijn met een staartjesloze kleine letter. Bv. bij de Tango zakken de hoofdletters door hun hoeven om op gelijke onderkant uit te komen als de onderkant van de staartjes, met daaronder nog extra ruimte:

    tango.gif

    Dan zou een compensatie-factor per lettertype ingevoerd moeten worden. :rolleyes:

  • Browsers interpreteren de lengte van een tekst-span klaarblijkelijk ook verschillend:

    span-tekstbreedte.gif

    IE doet er na de laatste letter uit zichzelf een halve letter spatie bij. Dan zou er ook een browser-sniffer aan te pas moeten komen om een zuivere verhouding lengte/hoogte te kunnen geven.

  • Voor een compensatiefactor zou ook nagegaan moeten worden, of deze in de pas meeloopt bij verkleining van de letters (wat in de voorbeeldvakjes automatisch doorgevoerd wordt bij langere teksten). Anders moet een factor per lettergrootte-percentage worden vastgesteld.
  • En ik vergeet vast wel wat.

Conclusie:
Als ik me niet heel erg vergis (daar hopen we dan maar op), is dit een ondoenlijk karwei...

Helaas - helaas - helaas, want het lijkt toch een simpele vraag.
Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Conclusie:
Als ik me niet heel erg vergis (daar hopen we dan maar op), is dit een ondoenlijk karwei...

En als je eerst van de tekst een image (gif, png, ..) maakt en die opmeet ?
Ik heb wat zitten prutsen maar zit nu vast. Kan je met dit niet op weg ?
Als de page load, wordt de tekst omgezet, dan kan je bij eigenschappen de size zien.
Hier gevonden.


Dit lijkt mij zééér interessant !!!
 
Laatst bewerkt:
Kun je niet van tevoren de maten van het plaatje doorgeven aan de pagina in een hidden field, en daarmee rekenen? Ik ga er vanuit dat het om vooraf opgezetten plaatjes gaat? Je kunt in PHP namelijk wel de afmetingen van een plaatje vragen, en dan krijg je de officiele afmetingen van de image te zien.

(Sidenoot: ik heb niet het hele topic gelezen want het is heel erg lang dus als ik het verkeerd begrepen negeer dit dan)

PHP:
$image = imagecreatefrompng ( "map/map/plaatje.png" );
$x = imagesx( $image );
$y = imagesy( $image );

Die kun je vervolgens meesturen naar de browser om mee te rekenen. Als het gaat om plaatjes die on the fly gemaakt worden, ook geen probleem! Je kunt gewoon de URL meegeven en dan gaat ie het plaatje aanmaken en opmeten. Eventueel zelfs met AJAX ;)
 
Hoi Frats,
De bedoeling is, dat de hoogte/breedte verhouding gegeven wordt van een willekeurige door de bezoeker in te geven tekst in een door de bezoeker op te geven lettertype.
We kunnen de exacte maten van het element van de getoonde ingevoerde tekst wel opvragen, maar die maten stoppen er speelruimte aan de onderkant bij (voor de eventuele staartjes van kleine letters als een p of q). En als je toevallig een zin invoert zonder staartjes, krijg je die ruimte er gratis óók bij > dan is de verhouding zoek. Ook boven de letters wordt nog een soort padding aan vrije ruimte ingevoegd. That's the problem.

@yammaski:
Het idee om een plaatje te schieten van de tekst is lang niet gek!
Je testpagina [url]www.frogstyling.be/X_Tests/TEST_text2png.htm[/URL] kan ik jammer genoeg niet mee uit de voeten, want die werkt bij mij noch in FF noch in IE.
Ook jammer genoeg heb ik voorlopig niet zoveel tijd om de achterliggende Easy Text to PNG conversion uitgebreid te gaan bestuderen (lijkt me wel de moeite waard!).

De "Dit lijkt mij zééér interessant !!!"-link naar Textomage.com heb ik gevolgd, en dat geeft wel een mooi image, maar als je een bordertje eromheen zet met de Webdeveloper Toolbar, zie je dat ook hier een vrije ruimte wordt toegevoegd om de tekst heen (en wat voor één bij alleen hoofdletters...).
  • Zie screenshot:

    textomage.png


  • Voor alle zekerheid ook even het img gedownload, en met tekenprogramma geopend: geeft hetzelfde resultaat.

    tik-your-text-hiero.gif
Verhip, weer niet gelukt! :confused:

Andere route?
Een andere misschien mogelijke optie, bedacht ik, is om niet een img te schieten, maar het element (de <span>) waar de tekst in het goede lettertype in staat, met een "javascript-scanner" door te lichten. Regelrecht "vanaf het scherm", dwz met de browser-gegevens die er al zijn. Zo ongeveer als volgt:
  • Script begint met de schermkleur van pixel (0,0) van het element op te vragen.
  • Als dit de achtergrondkleur is, dan naar (1,0) en idem.
  • Tot hele 1e rij gehad (elementbreedte is bekend).
  • Als alles achtergrondkleur, dan kennelijk lege ruimte > naar eerste punt op de volgende rij (0,1) en operatie herhalen.
  • Zodra een pixel met afwijkende kleur gevonden wordt, dan is iets van een letter geraakt: noteren op welke hoogte dat was. En scan afbreken.
  • Vervolgens scannen van onderaf: punt (0,y) en die rij erachter. Niks gevonden: 1 pixel omhoog, en die rij proberen.
  • Totdat de eerste rij gevonden is waarop weer een afwijkende kleur zit: ook noteren, en scan stoppen.
  • Nu de twee gegevens van elkaar aftrekken = hoogte letters bekend! :)

Ik weet niet of hier een (makkelijk) script voor is (te maken), maar dacht dat iets dergelijks ook gebruikt werd door het script van de Nifty Corners / Nifty Corners Cube (die kleuren in ronde hoekjes gaat opsporen). Dus het schijnt te kunnen. :D

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Verhip, weer niet gelukt! :confused:

Op deze site gebruiken ze hetzelfde systeem volgens mij. Ik heb het geprobeerd ... èn het klopt wel degelijk ! Maar hoe krijgen ze dan de juiste afmeting van enkel de tekst ?
De px hebben hier duidelijk niets te maken met de echte afmeting in cm.
De kader met witruimte hangt af van het lettertype en is eigenlijk de "corpsgrootte".

online.jpg



met een "javascript-scanner"

Dat lijkt me in theorie simpel, maar ... !?
 
Oef, zo'n scanner is natuurlijk een leuk idee, maar in praktijk niet. Je zult met het html5's canvas moeten werken, of mischien met php. Het punt is dat dit nogal gecompliceerd is, vooral het canvas-gedoe: denk alleen al maar aan het belabberde browser-support.

Ik volg het gehele thread niet meer, vooral wat nu precies het probleem is. Maar, hier een ander idee: kan je niet voor elk font de corpsgrootte opzoeken, opslaan, en deze gebruiken bij het berekenen?


:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan