"use client"; import { ConversionSettings, ObjectPosition } from "@/types"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Checkbox } from "@/components/ui/checkbox"; import { ArrowRightLeft, HelpCircle } from "lucide-react"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { ObjectPositionControl } from "@/components/object-position-control"; const aspectRatios = [ { name: "Benutzerdefiniert", value: "custom" }, { name: "1:1 (Quadratisch)", value: "1/1" }, { name: "4:3 (Standard)", value: "4/3" }, { name: "3:2 (Fotografie)", value: "3/2" }, { name: "16:9 (Breitbild)", value: "16/9" }, ]; interface ImageSettingsProps { settings: ConversionSettings; onSettingsChange: (settings: Partial) => void; onAspectRatioChange: (value: string) => void; onSwapDimensions: () => void; } export function ImageSettings({ settings, onSettingsChange, onAspectRatioChange, onSwapDimensions, }: ImageSettingsProps) { return (

Wählen Sie ein voreingestelltes Seitenverhältnis oder 'Benutzerdefiniert', um die Abmessungen manuell einzugeben.

Legen Sie die Ausgabebreite in Pixeln fest. Leer lassen, um die Originalbreite zu verwenden.

{ onSettingsChange({ width: e.target.value, aspectRatio: 'custom' }) }} />

Die eingegebenen Werte für Breite und Höhe tauschen.

Legen Sie die Ausgabehöhe in Pixeln fest. Leer lassen, um die Originalhöhe zu verwenden.

{ onSettingsChange({ height: e.target.value, aspectRatio: 'custom' }) }} />
onSettingsChange({ keepOrientation: Boolean(checked) })} />

Bestimmt, wie das Bild in die neuen Abmessungen passt.

{settings.scaleMode !== 'fill' && (

Legt den Ankerpunkt für die Skalierung 'Abdecken' oder 'Enthalten' fest.

onSettingsChange({ objectPosition: pos as ObjectPosition })} />
)}
); }