Form1 Sirds Form15 frmProzent SSFrame MS Sans Serif frmLabel SSFrame MS Sans Serif CMDialog1 CommonDialog mnuDatei &Datei ffnen ffnen mnuSpeichern &Speichern mnuEnde &Ende mnuSirds &Sirds mnuInfo &Info ffnen_Click CMDDialog1 CancelError% Flags AufDefault DialogTitle~ FilterA Action Filename FiletitleR Form_LoadY ZuDefault Outline1_Click CMDialog1 Analyse gesamt laufwerk ordnerZ Dateiw pos1i pos2b WhileInStr datai ornderE Auswaehlen/ mask8 title cmdlg InitDir DefaultExt mnuOeffnen_Click/ mnuSpeichern_ClickO CMDialog CommonDialogR mnuAusw hlen_Click Ausw hlene mnueffnen_Click Picture1 Picture ImageT bldBild mnuGetColor_Click ScaleMode FarbeB FarbWert GetRed GetGreenF GetBluel bldBild_ClickX bldBild_MouseDown= ButtonS Shift FarbeWert ForeColor bldSirds_Click bldSirds Width Height Heigth bldHeightI Form2 form3 ScaleWidth ScaleHeight ScreenWidth Screen Scanneng Stereo( TiefeForm3 Tiefe orm3= FarpTiefeK FarbeTiefea FarbTiefeq MacheKorrel Korreln AugeAbst Aufloesung konst zSkal: Sichtbard MacheSirds colnum Ausgabe Mache Farbe13 farbe2 farbe3 maxyZ AutoRedraw hPicDC OKFlag BitBlt* hDCZiel xZiely yZiel Breite hDCQuelle ByValxQuellee yQuelle RopCode visible StretchBlt ScaleHeigth? bldSicht hPicDC1& ZielBild QuellbildG XPosO YPOs[ mnuDatei_Click bldBildScale mnuMax_Click bldMaxBild MaxBild doevent Scal_dx Scal_z mnuGetcolor disabeled mnuDatei enable DateimnuGetColorU GetColor enabel EnabledI mnuMaxu mnuSpeichern mnuAuswaehlenS enebled mnuAusw txtDauer) Porzent Prozent+ lblProzent< Caption ffnenC mnuEnde_Click ErrorRoutine CancelFlag AutoSizem mnuSirds_Click mnuSirds lblLabel mnuLabel_Click mnuInfo_Click Titel Frame3D2_DragDropm Source Control lblLabel_Click frmLabel frmProzent# frmLabel_DragDrop3 Nummer Die~ geladenena Bitmap Variabel dimensioniert Ergebnis GetDeviceCaps Form1 Abbruch Abbruch Dieses passiert, wenn kein 256-Farbenmodus eingestellt ist. Leider haben Sie keinen 256-Farbenmodus eingestellt. Text = Text + " W hlen Sie bitte einen Super-VGA-Modus mit 256 Farben aus." + Chr$(13) Starten Sie Windows erneut. Versuchen Sie es dann nochmal! Viel Spa beim Sirdsen. Ausgabe Die Ausgabe einer Zeile des SIRDS erfolgt hierr Gibt den endg ltigen SIRDS-Pixel aus. Form_Load Mit der GDI-Funktion "GetDeviceCaps()" wird berpr ob ein 256-Farbenmodus eingestellt ist. Wenn ein anderer eingestellt ist, wird das Programm mit der Prozedur "Abbruch" beendet. Die Skalierungsart wird auf nat rliche Pixel festgelegt.d Die Menuepunkte "Sirds" und "Speichern" werden zun chst deaktiviert.t GetBlue Ermittelt den Blauanteil der RGB-Farbe. GetGreen Ermittelt den Gr nanteil der RGB-Farbe. GetRed Ermittelt den Rotanteil der RGB-Farbe.. MacheKorrel Der Algorithmus f r die Korrelationsberechnung erfolgt mit MacheKorrel(). Dabei wird das von Scannen erzeugte Feld Tiefe() umgerechnet Das Feld Korrel() wird auf "nicht korreliert" gesetzt.t Der Augenabstand wird in Anzahl der Pixel umgerechnet.m Hier beginnt der Algorithmus. Kernberechnung des Algorithmus. Normierung der Farbwerte zwischen 0 und 1.. Die Berechnung von S. Berechnung des linken Stereopunktes.p Berechnung des rechten Stereopunktes. Weiter, wenn Stereopunkte beide im Abbildungsbereich (Bildschirm) liegen. Teil des Algorithmus, der berpr ft, ob der betrachtete Punkt berhaupt f rs Auge sichtbar ist. Hidden-Pixel Algorithmus. Siehe dazu Ausf hrung im Text.P Teil des Algorithmus, der die Randbedingungen ber cksichtigt. Lesen Sie dazu die Ausf hrungen im Text.r Hier wird die Kernzuweisung gemacht,n wobei die Korrelierung festgelegt wird. MacheSirds Diese Procedur setzt die im Feld Korrel() enthaltenen Korrelationsinformationen um undd setzt die Farbwerte der auszugebenen SIRDS-Zeile in das Feld Stereo() ein.i Die Zufallsfarbe wird generiert.r Wenn keine Korrelierung vorliegt, dann wird einfach die Zufallsfarbe gesetzt. Liegt Korrelierung vor, so setzte die gleiche Farbe wie die des anderen Stereopunktes.d mnuEnde_Click Das Programm wird hiermit beendet. mnuInfo_Click Was soll noch mehr gesagt werden? ber das Programm *** Sirdsbild Version 94 *** Haben Sie schon Kopfschmerzen? rgen Riedel, 30.11.94> ffnen_Click True legt hier fest, da das Bet tigen der Abbruchfl che zum Laufzeitfehler mit der Nummer 32755 f Setzten der Standardflags (Windowsvorgabe). Festlegen des Titels der Dialogbox. Bitmap ffnen Es werden nur die Dateien mit der Endung ".bmp" angezeigt. Bitmaps (*.bmp)|*.bmp Der Commen Dialog wird auf "laden" gesetzt. Wird nichts ausgew hlt, dann raus aus der Prozedur. Es ist kein "Fehler" aufgetreten. Die Form "Eingabe.frm" wird der Gr e der geladenen Bitmapm angeglichen.n Laden des Bitmap ins Bildfenster. Menuepunkt "Sirds" wird aktiviert.r Ist der Laufzeitfehler aufgetreten, dann geschieht folgendes. Vergleiche oben.e glicht die verz gerte Fehkerbehandlung ber die Variable "Err".i mnuSirds_Click Deklarationsteil der Variablen. Menuepunkt " ffnen" wird deaktiviert. Die Form "Ausgabe.frm" wird verdeckt Die Form "Ausgabe.frm" wird dimensioniert. Die folgenden Felder werden dimensioniert.e Sirdsberechnung: Die Schleife f r die abzuarbeitenden Bildzeilen.. 0 bis Anzahl der Zeilen der geladenden Bitmap Reagiere auf Ereignisse.0 Zeigt die schon abgearbeiteten Zeilen in Prozent an.. Aufruf der einzelnen Unterroutinen. Zeige das Sirdsbild. Mennuepunkte " ffnen" und "Speichern" werden aktiviert. mnuSpeichern_Click Siehe Kommentare zu "mnu ffnen".h Datei speichern unter Bitmaps (*.bmp)|*.bmp *.bmp Setzten des Commen Dialog auf "speichern".e Ist kein Fehler aufgetren, dann speichere das Bild. Die Menuepunkte "Speichern", " ffnen" und "Sirds" werden deaktiviert. Scannen Einlesen der RGB-Farbwerte einer Bitmapzeile. Farbwert des aktuellen Pixels wird eingelesen. Umrechnung der RGB-Farbwerte in 256 Graustufen. Tip: Probieren Sie doch andere Gewichtungsfaktoren aus. Die Gewichtungsfaktoren sind auf eine durchschnittliche Farbempfindlichkeit eingestellt.e 333333