Announcement

Collapse
No announcement yet.

BMP Qualität beim Verkleinern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BMP Qualität beim Verkleinern

    Hi all,

    also ich wollte mal fragen wie ich das hinbekommen das bei einer verkleinerung eines Bmps von z.B. 1024 * 768 auf 400 * 300 nicht so ein krasser Qualitäts verlust ist z.Z. mache ich das folgender maßen

    bmp.Canvas.StretchDraw(Rect(1, 1, iBreite, iHoehe), bmp);
    bmp.Width := iBreite;
    bmp.Height := iHoehe;

    Dabei ist aber so ein krasser verlust das man die schrift auf dem bild nicht mehr lesen aknn und auch das bild schlecht erkennen kann...

    Ich weiss das sowas geht weil bei PS6 . oder ACDSee geht es ja auch

    ich wäre für jeden hinweis dankbar

    also bis dann und machts gut

  • #2
    Hallo,

    das Problem, eine Bitmap zu verkleinern, ist nicht klein. Da ja Pixel wegfallen müssen, ist es mit stretchdraw nicht getan.

    Es gibt eine Freeware-Unit von Anders Melander, die das erledigt. Ich habe sie mal auf meine Homepage gesetzt:

    http://www.beckersoft.de/delphi/resample.zip

    Viel Erfolg damit..

    Comment


    • #3
      Hi und Danke erstmal für die Hilfe,

      aber irgendwie klappt das bei mir nicht er sagt immer das VCL30 fehlt oder so, kann das sein das dass was mit D3 zu tun hat?? ich habe nämlich D5 Enterprise!!

      vielleich könnte mir jemand sagen was man dagegen machen kann

      Comment


      • #4
        mmm, wenn einer kann wäre es mir auch sehr hilfreich wenn mir einer eine kleine projekt datei geben kann, wo man nur die grööse von einem bmp verändert, und es dabei wieder in eine Datei speichert..

        Comment


        • #5
          Hallo,

          du muss bei dem Demo-Projekt die Propektoptionen öffnen und dort unter Packages "mit Laufzeit-Packages..." abwählen.

          Es gibt auch noch einen Tipp-Fehler im Demo:

          Ersetze:

          Strecth(ImageInput.Picture.Bitmap, Image.Picture.Bitmap,
          ResampleFilters[i].Filter, ResampleFilters[i].Width);

          durch:

          Resample.Stretch(ImageInput...

          Gruß Ul

          Comment


          • #6
            ja es geht, aber es ist ohne dieses Package echt LAHM, wie kann ich das schneller machen??? oder bleibst das jetzt s

            Comment


            • #7
              Ich hab's nicht geschrieben, da musst du dich schon an den Autor wenden

              Comment


              • #8
                Ok, ich mach das dann mal aber vielen dank nochmal für alles

                machs gut und bis zum nächsten ma

                Comment


                • #9
                  Eine späte Antwort.

                  Die resample.pas ist für D3 kompiliert.
                  Für D5 folgende Zeile ändern und neu
                  kompilieren
                  {$IFDEF Ver100} in {$IFDEF Ver130}

                  dann geht es rasend schnell.
                  Günte

                  Comment

                  Working...
                  X