Mario: Bilder schärfen

Hi, um Bilder mit PHP zu schärfen habe ich das HIER gefunden.

Aber wie bekomme ich es hin als ersten Parameter einen Pfad oder URL anzugeben?

Habe verschiedenes probiert, zb.

Die Funktion aus dem Manual
function LoadJpeg($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromjpeg($imgname);

/* See if it failed */
    if(!$im)
    {
        /* Create a black image */
        $im  = imagecreatetruecolor(1024, 768);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, 0, 1024, 768, $bgc);

/* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

return $im;
}

Der Aufruf des Ganzen
echo UnsharpMask('http://www.fantom-xp.com/wallpapers/15/Christmas_Cat.jpg');

function UnsharpMask($img, $amount=100, $radius=1, $threshold=3)
{

########### Also das eingefügt ################
$img = LoadJpeg($img);

....

Aber so bekomme ich bloss als Ausgabe "Resource id #3"

Ach wenn ich das irgendwie damit zum Laufen bekomme, würde das auch nur für JPG passen oder auch anderes?

Mario

  1. Grüße,
    blätter noch mal durch die Dokumentation einzelner funktionen, und schau dir genau an - was die als Argument brauchen, und was die ggf zurüchkgeben.

    P.S:wo genau deklarierst du $img, wenn du es als aufrufparamter nutzen willst?

    MFG
    bleicher

    1. Hi,

      blätter noch mal durch die Dokumentation einzelner funktionen, und schau dir genau an - was die als Argument brauchen, und was die ggf zurüchkgeben.

      warum bin ich da nicht selbst drauf gekommen, dann hätte ich mir ja die Frage hier sparen können ;-(

      Ich weiss nicht wie es euch geht, bei mir ist das jedenfalls so:
      Wenn ich nicht ständig mit einem Bereich zu tun habe, wie eben Bilderzeugung per PHP, dann habe ich fast alles gelernte wieder vergessen.

      Und mit Vergessen meine ich auch vergessen, nicht mal die simpeksten Dinge dazu fallen mir nicht mehr ein. Dann schaue ich meine durchaus gut dokumentierten alten Scripte in de Richting an, und erkenne, das mich das auch nicht weiterbringt. Okay, dann opfere ich halt mal wieder 1-2Tage in dies Sache und lerne mich wieder wie ein Anfänger ein, das heisst auch mit vielen Versuchen und Tests um die Ansätze wieder zu verstehen.

      Das Selstame daran, einmal wieder den Durchblick und ich kann die kompliziertesten Dinge in dieser Rubrik coden.

      Da mir nun nach deiner Antwort(oder besser Kommentar) auch nichts anderes übrig blieb, bin ich nun selbst drauf gekommen. Hat aber wieder einen Tag gedauert und das jetzige Wissen ist mit Sicherheit in 3 Monaten wieder weg.

      Dann werde ich bestimmt wieder bei einer erneuten Bildfuktion hier etwas fragen und wieder zur Antwort bekommen, mich mit den Funktionen auseinander zu setzen. Worauf ich dann wieder einen tag beschäftigt bin und mir wieder den Frust, wie jetzt, von der Seele schreibe.

      Ich weiss das dieses Forum alzu oft nach der Formel lebt, nicht zeigen sondern den Fragenden auffordern selbst zu recherchieren. Aber zumindest den einen oder anderen Ansatzupunkt sollte wohl drin sein, um das sebst recherchieren doch ein wenig zu vereinfachen.

      P.S:wo genau deklarierst du $img, wenn du es als aufrufparamter nutzen willst?

      Wenn du es nochmals "genau" anschaust, siehst du das nicht das Problem ist.

      Mario

  2. Hi,

    Aber wie bekomme ich es hin als ersten Parameter einen Pfad oder URL anzugeben?

    Gar nicht. Wie Torstein schreibt:

    // $img is an image that is already created within php using
        // imgcreatetruecolor. No url! $img must be a truecolor image.

    Du verwendest z.B. den handler, den die GD-Function imagecreatefromjpeg zurückgibt.

    Grüsse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi Achim,

      Aber wie bekomme ich es hin als ersten Parameter einen Pfad oder URL anzugeben?
      Gar nicht. Wie Torstein schreibt:

      // $img is an image that is already created within php using
          // imgcreatetruecolor. No url! $img must be a truecolor image.

      Ja das war mir klar darum meine Frage.

      Du verwendest z.B. den handler, den die GD-Function imagecreatefromjpeg zurückgibt.

      Dachte ich auch, nur irgendwie bekam ich das nicht in den Kopf, bis mir klar wurde das nach imagecreatefromjpeg so aufzurufen:

      imagejpeg(UnsharpMask($img));

      Na ja, wie gesagt., jetzt  klappt es ja und ich hätte mir gestern so eine Antwort wie deine gewünscht.

      Daher danke dir
      Mario