[TYPO3-german] Bilder im FE skalieren

Rainer Schleevoigt rainer at webmasterei-hamburg.de
Thu Aug 6 10:37:58 CEST 2009


Christian Wolff schrieb:
> Rainer Schleevoigt schrieb:
>   
>> Steffen Ritter schrieb:
>>     
>>> Rainer Schleevoigt schrieb:
>>>  
>>>       
>>>> Hallo,
>>>>
>>>> ich möchte Bilder unabhängig von HTML skalieren – die Bilder werden
>>>> von Flash über eine XML-Playlist ausgeliefert.
>>>>
>>>> Idee:
>>>> // Aufruf:
>>>> // /index.php?type=23&id=ID&img=/uploads/myphoto.jpg&width=600
>>>>
>>>> und so soll das in Etwa in TS laufen:
>>>>
>>>> page = PAGE
>>>> page.typeNum = {$img_type_num}
>>>> page.config.disableAllHeaderCode = 1
>>>> page.10 = IMG_RESOURCE
>>>> page.10 {
>>>> file.data = GPvar:img
>>>> file.width.data = GPvar:width
>>>> }
>>>>
>>>> Klappt aber irgendwie nicht!
>>>>
>>>> Ideen?
>>>>
>>>> Gruß Rainer
>>>>     
>>>>         
>>> IMG_RESOURCE gibt einen Dateinamen zurück.
>>> Nicht die Binärdaten des Fotos...
>>>
>>> Dafür musst du dir ein eine klasse erstellen, am besten von pi_base
>>> ableiten
>>>
>>> page.10=USER
>>> page.10.userFunc=deineKlasse->gibmirBild()
>>>
>>> und dort erstellst du das Bild in einem cObj genauso wie im TS.
>>> Danach lädst du es mit den FileOptionen, änderst mit dem header Befehl
>>> in PHP den mimetype und gibst das bild als "binärdatum" in dem content
>>> zurück.
>>>
>>>   
>>>       
>> Wie ich das verstehe, muss die Klasse eventuell IM aufrufen, um aus
>> /uploads/ nach  typo3temp/ zu skalieren und dann den Kram binär ausliefern?
>> Das heisst, ich kümmere mich selbst um das Caching?
>>
>> Rainer
>>     
>>> Oder Dirty: mach ein echo und die().
>>>
>>> lG
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.netfielders.de
>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>       
>
> hi ich würde das eher über tatäschlich über IMG_RESOURCE bekommst du
> halt den dateinamen zurück... in der regel typo3temp/inrgendwas.jpg
>
> das kannst du ja dann auch mit flash verarbeiten und die datei anfordern
> ist halt lediglich ein http access mehr. mit der methode kannst du z.b
> auch mehrer IMAGE objecte nehmen und mit hilfe des XML parsers in flash
> direkt alle nötigen bilder für deine anwendung geliefert bekommen.
>
> die komuniation sieht dann ungefähr so aus:
> flash --> fragt nach bild liste
> flash <-- bekommt bildliste als xml
> flash --> fordert nötige bilder direct an aus temp verzeichnis
>   
Genau so läuft das ab. In der DB stehen allerdings die (großen) Bilder 
im Verzeichnis /uploads/ und das Flash braucht aber die (verkleinerten) 
Bilder aus /typo3temp/
Eine javascriptbasierende Lösung sähe nun so aus, dass der Rendererso 
etwas ausliefert

<ol class="imagerotator">
<li>1. Bild mit TS gebastelt   </li>
<li>2. Bild mit TS gebastelt   </li>
</ol>

Eine Javascript würde alle diese OLs erkennen und dann dort das Flash 
einbinden und aus den Childelementen die Playlist bauen. Das hätte den 
Vorteil, dass man mit T3-Bordmitteln das Caching und Skalieren hätte. 
Gefällt mir aber nicht wirklich.

Deswegen möchte ich in der Playliste (RSS oder SPF) den Link so gestalten:

<location>index.php?img=/uploads/meinBild.jpg&width=600&type=23&id=myPID</location>

Dann müsste in der Seite mit myPID der entsprechende TS-Code laufen (was 
wohl nicht geht) oder eben ein PHP-Script, dass dann selber das Caching 
übernimmt und dann per Redirekt auf das /typo3temp/ oder via return 
file_get_contents("/typo3temp/gecachtesBild.jpg"); ausliefert.

Rainer


> der letzte schritt könnte sich natürlich mehrmals wiederholen.
>
> gruss chris
>
>   



More information about the TYPO3-german mailing list