Netzwerk Problem oder Bug {Große Daten Versenden}

Anfängerfragen zum Programmieren mit PureBasic.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Netzwerk Problem oder Bug {Große Daten Versenden}

Beitrag von kiki »

Hallo,

Wie kann man ein Bild von .bmp verkleinern?? (von der Dateigröße her)

Wenn ich die endung änder wird es leider nicht kleiner!!!!!!!!!!!!!!!


Titel angepasst, aktuelles Problem siehe Seite 4
Kaeru fecit
Zuletzt geändert von kiki am 04.02.2007 18:09, insgesamt 2-mal geändert.
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

Sry, aber kennst du dich mit PC's aus??
die endungen sind eigentlich TOTAL egal, du kannst da sowviel ändern wie du willst, das bringt nichts.
Sie sagen windows nur, mit welchem programm es die datei öffnen soll.
sozusagen als erkennungsmittel
um das dateiformat wirklich zu ändern, musste du ein programm benutzen.
Bei bildern ist das relativ einfach
du lädts es in einen bildeditor und speicherst es in einem anderen format ab
(zb png oder jpg)
Bei filmen ist es etwas schwieriger, da brauchst du converter.
Auch gibt es selbst bei gleicher endung viel Codecs.
Dies sind die algorithmen, bzw die schlüsssel dafür , um die datei / film / soudn wiederzugeben / öffnen
ich hoffe das ericht ersteinmal

//edit zum verkleinern:
png speichert es verlustfrei,
jpg speichert es mit verlust (bei paintmit standartmäßig 80%, obwohl selbst 100% nicht komplett verlustfrei ist)
Ich empfehle dir Gimp
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ja ist schon klar nur wie gehts mit PB??
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

so:

Code: Alles auswählen

; Made by Alexander N for PB 4.00
file.s = OpenFileRequester("","","*.bmp|*.bmp",0)
If Not file
  End
EndIf
save.s = SaveFileRequester("",file+".png","*.png|*.png",0)
If Not save
  End
EndIf
UsePNGImageEncoder()
image = LoadImage(#PB_Any,file)
If Not image
  End
EndIf
If Not SaveImage(image,save,#PB_ImagePlugin_PNG)
  End
EndIf
MessageRequester("fertig","alte größe: "+Str(FileSize(file))+Chr(10)+"neue größe: "+Str(FileSize(save)))
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ok, vielen Dank,
Gibt es noch ein Format dass kürzer zum umwandeln braucht aber trotzdem unter 150 kb. groß ist??????
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

es gibt keine feste größe, du kannst nicht sagen, das png unter 150kb ist.
jpg geht noch kleiner, aber mit verlusten
klick in der ide einfach mal auf den befehl UsePNGImageEncoder() und drücke F1 und sieh dir mal die anderen encoder an
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@kiki
wozu brauchst du das denn?

eine weitere möglichkeit ist, die farbtiefe zu beschränken, z.b. von 24bit auf 8bit.
dabei ist der qualitätsverlust oft geringer, als beim verwenden von JPG mit Color-Subsampling.
(wenn man nen guten algorithmus dafür hat, wie er z.b. in IrfanView eingebaut ist)
das geht aber nicht so einfach mit PB, weil der Algorithmus recht komplex ist,
und den müßtest du selber schreiben.

noch eine möglichkeit wäre, die ausmaße des bildes zu verkleinern,
und beim darstellen wieder groß zu machen, beides kann man mit Sprite3D tricksen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ich hab mal alle 3 Plug-ins versucht aber da gibt es einen sehr starken Qualitätsverlust. Kennt einer noch eine andere Möglichkeit ohne großen Qualitätsverlust?

Als Test hab ich meinen Desktop Fotographiert, aber nach der Umwandlung kann man keinen einzigen Buchstaben mehr erkennen.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Wenn ich die Datei wieder in zb. bmp umwandel gehts wieder.

Danke Gruss, Kiki
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

irgendwas machst du falsch!

1. eine umwandlung in PNG kann keinen qualitätsverlust bedeuten,
da PNG ein explizit verlustfreies Komprimierungsverfahren ist.

2. wenn ein komprimierungsverfahren verlustbehaftet ist,
kann unmöglich einmal verlorene qualität durch
rückumwandlung in BMP wiederhergestellt werden!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten