Moin,
um die Bilder zu skalieren, rufe ich entsprechende Methoden aus dem FE auf.
Dies ist mein Ansatz:
// Libs einbinden:
require_once(PATH_t3lib.'class.t3lib_page.php');;
require_once(PATH_tslib.'class.tslib_content.php');
require_once(PATH_t3lib.'class.t3lib_div.php');
class user_class extends tslib_pibase {
var $local_cObj;
function user_playimagerotator($PA,$fobj) {
$this->local_cObj = t3lib_div::makeInstance('tslib_cObj');
//$this->local_cObj->start(array());
$imgConf = array();
$imgConf['file'] = '/'.$this->uploads . $foo;
$imgConf['file.'] = array('maxW' => 360,'quality'=>90);
//// hier knallt es!
$bar = $this->local_cObj->IMG_RESOURCE($imgConf);
}
}
Leider klappt das nicht. Ist der Weg falsch oder hat jemand einen Tipp, wie ich Bilder verkleinern kann. Das ist für eine Flashplayliste.
Hallo.
Was heißt denn "hier knallt es!" bzw. "Leider klappt das nicht."? Was knapp bzw. wie knallt es? Was klappt nicht bzw. was spricht der Server dazu? Es dürfte doch irgendeine Fehlermeldung geben.
Falls nicht: Ist das error-Reporting aktiv?
Viele Grüße
Julian
Wenn ich die Zeile reinnehme, dann bleibt der Schirm „weiß“. Errorlogging ist aktiviert im error_log steht:
Fatal error: Call to a member function IMG_RESOURCE() on a non-object in /../typo3conf/ext/ras_geoblog/wizardclass.php
Wenn ich die Warnungen einschalte:
PHP Notice: Only variable references should be returned by reference in /srv/www/htdocs/hausweb/typo3_src-4.2.8/t3lib/class.t3lib_div.php on line 4610, referer: http://gsw.webmasterei.com/typo3/db_list.php?id=22
[Wed Aug 19 15:11:07 2009] [error] [client 213.39.199.146] PHP Notice: Undefined index: import. in /srv/www/htdocs/hausweb/typo3_src-4.2.8/typo3/sysext/cms/tslib/class.tslib_content.php on line 4637, referer: http://gsw.webmasterei.com/typo3/db_list.php?id=22
Rainer
Mit den zustätzlichen Infos scheint die Problematik klarer zu sein. Du versuchst im Backend ein cObject zu nutzen. Das gibt's dort aber nicht bzw. lässt sich dort nicht so einfach erzeugen (Eine ausführliche Erklärung im Blog bei flagbit).
Eventuell hilft Dir die Funktion t3lib_BEfunc::getThumbNail(). Ansonsten bliebe wohl nur der Weg, erst bei der Ausgabe im FE das Bild zu skalieren.
Hallo,
vielen Dank für die Tipps, Die werde ich mal verfolgen.
Mittlerweile habe ich bei R. Meyer im Praxiswissensbuch gelesen, wie er es im FE macht:
$this->local_cObj = t3lib_div::makeInstance('tslib_cObj');
if ($this->local_cObj->fileResource($this->uploads . $foo)) {
$bar = $this->local_cObj->cObjGetSingle($this->uploads . $foo,array('maxW'=>360,'quality'=>90));
}
Das wiederum erzeugt:
PHP Fatal error: Call to a member function getFileName() on a non-object in /../typo3_src-4.2.8/typo3/sysext/cms/tslib/class.tslib_content.php on line 2770
Mal sehen ....
Danke Rainer
Hallo,
es läuft wunderbar. In etwa so:
foreach(explode (',',$param) AS $img) {
$parts = explode('|',$img);
$foo = $parts[0];
// Bilder für Flash:
$foo = t3lib_BEfunc::getThumbNail(
'/t3lib/thumbs.php',
PATH_site . $this->uploads . $parts[0],
'',
'255x180');
preg_match('|src="([^"]+)|',$foo,$m);
array_push($foos,$m[1]);
}
Die Qualität der Bilder ist noch nicht so berauschend. Mal sehen, ob es da noch einen Parameter gibt.