Guten Morgen,
habe mir gerade noch mal meine 113 Poster angeschaut. Auch diese haben mitunter relativ hohe Größenunterschiede. Dadurch springt die Anzeige natürlich immer etwas hin und her. Bei den Covern wird das Bild natürlich gestaucht und dann eher mittig angezeigt.
Cover.jpg
Finde es jetzt aber gar nicht so dramatisch. Vielleicht kann mann ja die Poster auch noch mal auf eine einheitliche Größe bringen bevor man sie abspeichert. Nun habe ich zwar keine Ahnung von Python, aber auf Arbeit hatte ich das mal so gelöst.
Spoiler anzeigen
Eventuell kann man das so ähnlich auch in Python realisieren
habe mir gerade noch mal meine 113 Poster angeschaut. Auch diese haben mitunter relativ hohe Größenunterschiede. Dadurch springt die Anzeige natürlich immer etwas hin und her. Bei den Covern wird das Bild natürlich gestaucht und dann eher mittig angezeigt.
Cover.jpg
Finde es jetzt aber gar nicht so dramatisch. Vielleicht kann mann ja die Poster auch noch mal auf eine einheitliche Größe bringen bevor man sie abspeichert. Nun habe ich zwar keine Ahnung von Python, aber auf Arbeit hatte ich das mal so gelöst.
procedure TSettings.ResizeJPEG(j:TJPEGImage; AWidth,AHeight:Integer);
var Bmp1,Bmp2: TBitmap;
Faktor: double;
begin
if (j.Height > AHeight) or (j.Width > AWidth) then
begin
Bmp1:=TBitmap.Create;
try
Bmp1.Assign(j);
Bmp2:=TBitmap.Create;
try
with Bmp2 do begin
if (j.Height>=j.Width) then
begin
Faktor := j.Width/j.Height;
Height := AHeight;
Width := Trunc(AHeight*Faktor)
end;
if (j.Height<j.Width) then
begin
Faktor := j.Height/j.Width;
Height := Trunc(AWidth*Faktor);
Width := AWidth
end; // if (j.Height>=j.Width) then
Canvas.StretchDraw(Rect(0,0,Bmp2.Width,Bmp2.Height),Bmp1);
end;
j.Assign(Bmp2);
j.SaveToFile(ExtractFilePath(Application.ExeName) + 'tmp/tmp.jpg');
finally
Bmp2.Free;
end;
finally
Bmp1.Free;
end;
end;
end;
var Bmp1,Bmp2: TBitmap;
Faktor: double;
begin
if (j.Height > AHeight) or (j.Width > AWidth) then
begin
Bmp1:=TBitmap.Create;
try
Bmp1.Assign(j);
Bmp2:=TBitmap.Create;
try
with Bmp2 do begin
if (j.Height>=j.Width) then
begin
Faktor := j.Width/j.Height;
Height := AHeight;
Width := Trunc(AHeight*Faktor)
end;
if (j.Height<j.Width) then
begin
Faktor := j.Height/j.Width;
Height := Trunc(AWidth*Faktor);
Width := AWidth
end; // if (j.Height>=j.Width) then
Canvas.StretchDraw(Rect(0,0,Bmp2.Width,Bmp2.Height),Bmp1);
end;
j.Assign(Bmp2);
j.SaveToFile(ExtractFilePath(Application.ExeName) + 'tmp/tmp.jpg');
finally
Bmp2.Free;
end;
finally
Bmp1.Free;
end;
end;
end;
Eventuell kann man das so ähnlich auch in Python realisieren
Wer einfach Danke sagen und meine Projekte unterstützen möchte: Amazon-Gutschein an - thomas.siegel@ts-myinter.net - ist immer herzlich Willkommen!
Projekte : VuMatic-Smarthome-Center, VWeather3, AdvancedEventLibrary, TVDbInfo
Projekte : VuMatic-Smarthome-Center, VWeather3, AdvancedEventLibrary, TVDbInfo