# Kamera Fokus und Blitz Behebung

## Problem
Die reale Kamera konnte in dunklen Bedingungen nicht fokussieren und der Blitz wurde nicht verwendet.

## Ursache
Die CameraService Klasse hatte keine Konfiguration für:
1. **Autofokus-Modus (AFMode)** - War nicht auf eine geeignete Einstellung für Live-Fokussierung konfiguriert
2. **Blitz-Einstellungen** - Waren nicht aktiviert oder konfiguriert

## Lösung

### 1. Autofokus-Modus Konfiguration
Der Autofokus-Modus wurde in der neuen Methode `ConfigureCameraForFocusAndFlash()` auf **AIFocus** gesetzt:

```csharp
AFMode.AIFocus  // Kamera fokussiert kontinuierlich, passt sich an Bewegungen an
```

**Verfügbare Modi:**
- `OneShot (0)` - Fokus wird einmal eingestellt, dann gesperrt
- `AIServo (1)` - Kontinuierlicher Autofokus bei bewegten Objekten
- `AIFocus (2)` - Intelligent: Wechselt zwischen OneShot und AIServo ⭐ EMPFOHLEN
- `Manual (3)` - Manueller Fokus

**AIFocus ist die beste Wahl**, da es:
- Automatisch zwischen OneShot und AIServo wechselt
- In dunklen Bedingungen besser funktioniert
- Flexibler ist

### 2. Blitz-Konfiguration
Der Blitz wird durch zwei Einstellungen aktiviert:

#### a) Flash Compensation (Blitzstärke)
```csharp
this._mainCamera.SetSetting(PropertyID.FlashCompensation, 0);
```
- Werte: -3.0 bis +3.0
- 0 = Standard Blitzstärke

#### b) Red-Eye Reduction (Rote-Augen-Reduktion)
```csharp
this._mainCamera.SetSetting(PropertyID.RedEye, (int)RedEye.On);
```
- Dies aktiviert auch den Blitz in dunklen Bedingungen
- Sendet Pre-Flash vor Hauptblitz aus

### 3. Verbesserte Autofokus-Feedback
Die `PrepareFocusAsync()` Methode wurde erweitert um:
- Besseres Logging der Fokus-Ergebnisse
- Fehlermeldungen, wenn Fokus fehlschlägt
- Hinweise auf Lichtverhältnisse und Blitz

## Implementation

Die Konfiguration erfolgt automatisch wenn:
1. Kamera verbunden wird
2. Session geöffnet wird
3. Speicherort auf Computer eingestellt wird

### Code in CameraService.cs:
```csharp
private void SetSettingSaveToComputer()
{
    this._mainCamera.SetSetting(PropertyID.SaveTo, (int)SaveTo.Host);
    this._mainCamera.SetCapacity(4096, int.MaxValue);
    ConfigureCameraForFocusAndFlash();  // ← NEUE ZEILE
}

private void ConfigureCameraForFocusAndFlash()
{
    // Autofocus auf AIFocus setzen
    this._mainCamera.SetSetting(PropertyID.AFMode, (int)AFMode.AIFocus);
    
    // Blitzstärke konfigurieren
    this._mainCamera.SetSetting(PropertyID.FlashCompensation, 0);
    
    // Rote-Augen-Reduktion aktivieren (aktiviert auch Blitz)
    this._mainCamera.SetSetting(PropertyID.RedEye, (int)RedEye.On);
}
```

## Canon SDK PropertyIDs verwendet
- **PropertyID.AFMode** (0x00000404) - Autofokus-Modus
- **PropertyID.FlashCompensation** (0x00000408) - Blitzkompensation
- **PropertyID.RedEye** (0x00000413) - Rote-Augen-Reduktion

## Enums verwendet
- **AFMode** - Autofokus Modi
- **RedEye** - Rote-Augen-Reduktion (Off/On)

## Testen
Nach dieser Änderung sollte die Kamera:
1. ✅ Autofokus in dunklen Bedingungen durchführen
2. ✅ Blitz automatisch auslösen wenn nötig
3. ✅ Bessere Fokus-Ergebnisse in Low-Light Situationen bieten

## Weitere Empfehlungen
Falls die Kamera noch immer nicht fokussiert:
1. Überprüfen Sie die **Lichtverhältnisse** - Blitz ist deaktiviert
2. Überprüfen Sie die **Objektiv-Fokus-Einstellung** (AF/MF Schalter an der Linse)
3. Überprüfen Sie, ob das **Autofokus-System des Objektivs** funktioniert
4. Versuchen Sie ISO-Wert zu erhöhen: `SetSetting(PropertyID.ISO, (int)ISOValue)`
5. Überprüfen Sie die **Kamera-Menüs** auf Fokus-Einschränkungen
