Cursor Projektpraxis-01: Screenshots von bestimmten Bildschirmbereichen in GIF-Animationen umwandeln

Projektbeschreibung

Dies ist ein Praxisprojekt mit Cursor, das in Python implementiert wurde. Es dient dazu, Screenshots in GIF-Bilder umzuwandeln, um Ergebnisse oder Beispiele zu präsentieren.

Ergebnispräsentation

screentogif_20250706_171615.gif

Vorbereitungen

  • Cursor

    • Version: 1.2.1
    • Cursor-Regeln: Cursor Rules
    • Agent: claude-4-sonnet-thinking
  • Gesamtprozess

    • Cursor-Regeln festlegen -> Anforderungen beschreiben -> Codierung mit Cursor -> Git-Versionsverwaltung -> Debugging und Ausgabe

Projektschritte

  1. Anforderungen analysieren und Projektverzeichnis mit Cursor generieren. Die Anforderungen lauten wie folgt:
## Entwickeln Sie ein Python-Programm, das Screenshots in GIF-Bilder umwandelt
1. Das Programm soll einen bestimmten Bildschirmbereich (per Mausauswahl) aufnehmen und die Bilder im Webp-Format speichern
2. Bilder komprimieren und GIF-Animationen generieren
3. Eine Oberfläche zur Einstellung der Komprimierungsrate, Bildrate und Speicherpfads bereitstellen

## Anforderungen
1. Nur die notwendigsten Funktionen, keine zusätzlichen Features
2. Da ein Mac verwendet wird, ist auf die Bildschirmskalierung zu achten

  1. Projektverzeichnis erstellen, Eingabeaufforderung:

    Analyze the requirement.md documents and start project writing

    image.png

  2. Projektdokumentation generieren

image.png

  1. Virtuelle Umgebung und Abhängigkeiten installieren

image.png|width:300px

  1. Grundgerüst und Oberflächenfunktionen fertigstellen

image.png

  1. Bereichsauswahlfunktion noch nicht implementiert. Weiterentwicklung vorantreiben

image.png

  1. Fertigstellung

image.png

  1. Generierte Bilder zu groß, weitere Bearbeitung erforderlich

image.png|width:300px

Problemprotokoll

  • Problem 1

    • Problem: Die Grafikauswahl erfolgt über die Kommandozeile, nicht über eine grafische Oberfläche.
    • Lösung: Direkte Anpassung durch Cursor mit dem Hinweis auf eine grafische Oberfläche
  • Problem 2

    • Problem: Unpräzise Anforderungsbeschreibung führt zu Funktionserweiterungen
    • Lösung: Hintergrundinformationen ergänzen und präzise Funktionsbeschreibungen verwenden
  • Problem 3

    • Problem: Deutliche Leistungsunterschiede zwischen claude-4-sonnet und claude-4-sonnet-thinking. Ersteres benötigte eine Stunde ohne Ergebnis, letzteres löste das Problem in 5 Minuten mit 3 Anfragen.
    • Lösung: Für komplexe Probleme oder Lösungsanalysen thinking-Version bevorzugen

Nutzungserfahrungen

  1. In den Regeln wurde die Datumsabfrage hinzugefügt, um nicht nur das Modell-Datum zu verwenden.
  2. Bei Python-Programmen wurden Regeln für die Erstellung virtueller Umgebungen ergänzt, um Konflikte zwischen Projekten zu vermeiden