AGB  ·  Datenschutz  ·  Impressum  







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

Bild halbieren mit Cmyk-farbe

Ein Thema von Newbie44 · begonnen am 30. Jan 2005 · letzter Beitrag vom 31. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Newbie44
(Gast)

n/a Beiträge
 
#1

Bild halbieren mit Cmyk-farbe

  Alt 30. Jan 2005, 17:30
Hi,

ich habe neulich ne Dll programmiert, jedoch funtioniert sie komischerweise nicht richtig. sie soll ein vorhandenes Bild immer um die hälfte kleiner machen, da das bild in raw vorliegt und meistens cmyk ist wollte ich jedes vierte byte weglassen, jedoch wird das bild nur abgeschnitten und nicht um die hälfte reduziert

hier mal den code:

Delphi-Quellcode:
function ReduceResolutionProportional(Stream: TMemoryStream; Width,
    Height: Word; ColorDepth: Byte; HeadSize: Int64 = 0): TMemoryStream; stdcall;
resourcestring
  OnEWrongStreamSize = 'Wrong Stream Size (%d, %d)';
  OnEWrongPictureFormat = 'Wrong Picture Format (%d, %d)';
var
  Bytes: Int64;
  i, k: Integer;
  HalfWidth: Word;
begin
  if (Width mod 2 = 1) or (Height mod 2 = 1) then begin
    raise EWrongPictureFormat.Create(Format(OnEWrongPictureFormat, [Width, Height]));
    Exit;
  end;
  Bytes:= Width * Height * ColorDepth + HeadSize;
  if Stream.Size <> Bytes then begin
    raise EWrongStreamSize.Create(Format(OnEWrongStreamSize, [Stream.Size, Bytes]));
    Exit;
  end;
  Stream.Position:= 0;
  Result:= TMemoryStream.Create;
  Result.Position:= 0;
  HalfWidth:= Width div 2;
  for i:= 1 to Height do begin
    if i mod 2 = 0 then
      Stream.Seek(soFromCurrent, ColorDepth * Width);
    for k:= 1 to HalfWidth do begin
      Result.CopyFrom(Stream, ColorDepth);
      Stream.Seek(soFromCurrent, ColorDepth * 2);
    end;
  end;
  Stream.Free;
end;


Wiso geht das nicht?

Ich hoffe Ihr könnt mir helfen

Gruß

Sebby
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Komischer Fehler

  Alt 30. Jan 2005, 17:51
Hallo Sebastian,

bitte gebe Deinem Beitrag einen aussagekräftien Titel.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Problem beim runterrechen von raw-Dateien

  Alt 30. Jan 2005, 17:57
Und bitte bitte noch Delphi-Tags...

MFG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Newbie44
(Gast)

n/a Beiträge
 
#4

Re: Problem beim runterrechen von raw-Dateien

  Alt 30. Jan 2005, 18:08
So, könnten wir nun zu meinen Problem kommen und das aussehen im hintergrund stellen?

Gruß

Sebby
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: runterrechen von raw-Dateien (dringend)

  Alt 30. Jan 2005, 18:36
Soweit ich das sehen kann, soll die Funktion alle x Bytes x Bytes auslassen und jede 2. Zeile des Bildes. Das dürfte die Funktionsweise erklären, aber ich kann dir auch nicht sagen wo der Fehler liegt.
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
Newbie44
(Gast)

n/a Beiträge
 
#6

Re: runterrechen von raw-Dateien (dringend)

  Alt 30. Jan 2005, 19:01
das ist echt wahnsennig toll, wie ihr alle an diesen thema interesse zeigt

sebby
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Bild halbieren mit Cmyk-farbe

  Alt 30. Jan 2005, 19:10
hi,

wenn du bytes wegschneidest, ist es doch logisch, dass dieser teil des bildes dann auch weg ist.
ich verstehe dich so, dass du das bild "stretchen" wilst. aber wie du das amchst, kann ich dir leider auch nicht sagen, da ich das RAW-format nicht kenne.

Zitat:
das ist echt wahnsennig toll, wie ihr alle an diesen thema interesse zeigt
ähm, ich denke, es interessiert schon einige. nur, wenn niemand eine ahnung hat, dann kann hier auch keine antwort geschrieben werden, die dein problem löst. sorry.

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Newbie44
(Gast)

n/a Beiträge
 
#8

Re: Bild halbieren mit Cmyk-farbe

  Alt 30. Jan 2005, 19:19
Hi Aenogym,

ich schneide das Bild nicht ab, es sollen nur alle 4Bytes 4Bytes ausgelassen werden und jede 2. Zeile 1.Zeile.

Gruß

Sebby
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#9

Re: Bild halbieren mit Cmyk-farbe

  Alt 30. Jan 2005, 20:25
Mal so 'ne dumme Frage:

Was genau soll dir die Funktion eigenltich brigen? Ich meine, alle 4Bytes 4Bytes und jede 2. Zeile eine Zeile entfernen verändert ja das Bild extrem. Vllt. kann man dir ja weiterhelfen, wenn man den Verwendungszweck kennt.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Bild halbieren mit Cmyk-farbe

  Alt 30. Jan 2005, 20:47
Es soll die Auflösung reduzieren nehme ich an, indem es nach jedem Pixel einen Pixel auslässt und nach jeder Zeile wird eine Zeile ausgelassen.
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz