Announcement

Collapse
No announcement yet.

möcht bitmaps austauschen geht aber nicht

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

  • möcht bitmaps austauschen geht aber nicht

    ich habe folgendes problem ich möchte gerne ein programm ändern welches bitmaps übereinanderlädt und dadurch kleidung in verschiedener ausführung darstellt wenn ich dort nun aber die grafiken austausche werden die neuen grafiken nur stark verzogen oder garnich dargestellt obwohl sie auch 8bit sind wie die orginale wie so und wo kann ich das ändern .legt der fehler hier

    bild52:=TBitmap.create;
    bild53:=TBitmap.create;
    bild54:=TBitmap.create;

    formular:=TBitmap.create;

    fbild:=TBitmap.create;
    fbild.width:=bild1width;
    fbild.height:=bild1height;
    fbild.handletype:=bmDib;
    fbild.pixelformat:=pf8bit;
    try

    bild1.loadfromfile('bitmaps\latzhose.bmp');
    bild2.loadfromfile('bitmaps\latzträger_vorne.bmp') ;
    bild3.loadfromfile('bitmaps\latzträger_hinten.bmp' );
    bild4.loadfromfile('bitmaps\latzpasse1.bmp');

  • #2
    Hallo Sebastian,

    in Deinem Fall denke ich, ist es das Beste, mit übereinandergelegten TImages zu arbeiten, von denen alle bis auf das unterste Transparent sind. Die Alternative wäre, Du kopierst die weiteren Bitmaps über die Copy-Methode direkt an eine bestimmte Stelle in das erste Bitmap ein, dann musst Du für Änderungen aber das Original irgendwo zwischenspeichern.

    Gruss

    Ul

    Comment


    • #3
      mein problem ist das alle bilder 500*500 in der auflösug sind und ich sie dadurch genau über ein ander laden muss wie geht es das ich in delphi also sage das er nur eine bestimmte farbe transparent darstellen soll irgendwie soll das wohl gehen aber ich weiss net genau wi

      Comment


      • #4
        Hallo Sebastian,

        doch, es geht eigentlich ganz einfach.

        Angenommen, Du willst 3 Bilder übereinanderlegen. Ziehe 3 TImage-Komponenten auf Dein Formular. Setze Width und Height der Komponenten auf 500. Setze Stretch der 3 Komponenten auf False. Setze Transparent der beiden oberen Komponenten auf True; Setze Left und Top der drei Komponenten auf die gleichen Werte, damit sie exakt übereinander liegen.

        dann geht es folgendermassen weiter:

        TImage1.Picture.LoadFromFile('...'); // unterstes Bild
        TImage2.Picture.LoadFromFile('...');
        TImage2.Picture.Bitmap.TransparentColor := clWhite; // z.B. weiss ist transparent
        TImage3.Picture.LoadFromFile('...');
        TImage3.Picture.Bitmap.TransparentColor := clWhite; // z.B. weiss ist transparent

        Das wärs.

        Gruss

        Ul

        Comment


        • #5
          Hallo Sebastian.

          bei meiner vorherigen Mail muss es natürlich Image1.Load... undsoweiter heissen und nicht TImage1.Load.....

          Gruss

          Ul

          Comment

          Working...
          X