AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scanline vs. Pixels

Ein Thema von Noobinator · begonnen am 1. Feb 2008 · letzter Beitrag vom 2. Feb 2008
 
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#1

Scanline vs. Pixels

  Alt 1. Feb 2008, 18:01
hallihallo ich bin es mal wieder^^

Also:

Ich habe momentan das Problem, das ich von einem ganz ganz großem Tbitmap ein Auschnitt von 0,0 bis X,Y kopieren möchte und in ein anderes Image einfügen.

mein Momentaner Code:

Delphi-Quellcode:
var bmp:Tbitmap;
    X,Y,i,j:integer;
begin
    bmp := Tbitmap.Create;
    X := getmaxx(elements) + 50; // X festlegen
    Y := getmaxY(elements) + 50;// Y festlegen
    bmp.Width := X;// neue BMP initialisieren
    bmp.Height := Y;
    for i := 0 to X do// Pixelweise durchgehen
        for j := 0 to Y do
          bmp.Canvas.Pixels[i,j] := buffer.Canvas.Pixels[i,j];
// Buffer ist ein schon bestehendes Tbitmap Objekt
 end;
nunja jetzt werdet ihr sagen

ahhh Pixelweiser Zugriff, wie langsam soll das denn noch werden, und ja das habe ich auch gemerkt^^

nun habe ich in meine Glaskugel geschaut und Scanline entdeckt, welches mir ja einen Pointer auf eine komplette Reihe zurückgibt.

so sweit so gut, aber zum Zuweisen dieser Reihe von 0 bis X auf mein neues Image müsste ich ja wieder über die Pixel eigenschaft gehen oder?

jedenfalls hackt es genau an dieser Stelle.
Wie kann ich bei Scanline nur einen Teil wieder zuweisen, ohne wieder über die Pixel Eigentschaft gehen zu müssen?

Idee:
Delphi-Quellcode:
type Pix = array[1..3] of byte;
var p:^Pix;

for i := 0 to y do
begin
  p := buffer.scanline[i];
  for j := 0 to x do
    bmp.canvas.pixel[j,i] := p^[j]; // Hier muss ich doch wieder über Pixel gehen??
end;
Schonmal danke für Hilfe
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz