{"id":4444,"date":"2026-07-07T14:35:23","date_gmt":"2026-07-07T14:35:23","guid":{"rendered":"https:\/\/www.goncalo.pt\/por\/?p=4444"},"modified":"2026-07-07T15:41:56","modified_gmt":"2026-07-07T15:41:56","slug":"2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/","title":{"rendered":"2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;"},"content":{"rendered":"\n<p>Apresento-vos o meu pr\u00f3prio formato de compress\u00e3o de imagem TSF, que comprime os tilesets dos meus futuros jogos 25 vezes mais que o formato PNG.<\/p>\n\n\n\n<p>Acontece que, como podem ver no exemplo abaixo, o tileset do jogo &#8220;Batman the Movie&#8221; da Ocean (1989), ocuparia 33 MB de tamanho.<\/p>\n\n\n\n<p>Para eu incluir o tileset no ficheiro execut\u00e1vel do meu Game Engine, obviamente que usava o formato PNG, pois seria o melhor compressor lossless de imagens.<\/p>\n\n\n\n<p>Mas n\u00e3o chegava. Ele comprimia 99% mas continuaria a ter 300 KB extra no ficheiro execut\u00e1vel do meu Game Engine, que j\u00e1 ia em 10 MB de tamanho com os MP3 e imagens do jogo embebidas.<\/p>\n\n\n\n<p>Eu tinha de resolver o problema. O formato PNG n\u00e3o era suficiente para mim, por isso criei um mais eficaz, que comprime 25 vezes mais o que o PNG j\u00e1 teria comprimido.<\/p>\n\n\n\n<p>Basicamente, um PNG ficaria a 1% do tamanho de um BMP, e o meu TSF passou a ficar a 4% de tamanho do pr\u00f3prio PNG, 25 vezes mais pequeno, e assim 2500 vezes mais pequeno que o formato BMP original.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1024x576.png\" alt=\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++...\" class=\"wp-image-4445\" style=\"width:1140px;height:auto\" srcset=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1024x576.png 1024w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-300x169.png 300w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-768x432.png 768w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1536x864.png 1536w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Na imagem acima podem ver que converti o ficheiro BMP de 33 MB num TSF de 13 KB, e depois com o de 13 KB voltei a converter em BMP, e podem ver que ficou com o ficheiro 100% igual (vejam os comandos diff e cmp), e aberto no GwenView com a imagem impec\u00e1vel, e abri tamb\u00e9m com o meu ficheiro conversor ImageCompressor que n\u00e3o s\u00f3 serve para converter imagens, como para abrir o formato TSF, que o Gwenview n\u00e3o conhece, dado que acabei de o criar.<\/p>\n\n\n\n<p>Isto n\u00e3o \u00e9 nada ainda, tenho formas de compress\u00e3o muito giras que mostrarei um dia, em que consigo comprimir milh\u00f5es de vezes mais certas imagens, mas n\u00e3o por m\u00e9todos de compress\u00e3o tradicionais, depois um dia explico melhor sem revelar ainda.<\/p>\n\n\n\n<p>Mas neste caso voc\u00eas perguntam-se: &#8220;Ser\u00e1 o formato PNG assim t\u00e3o mau que ainda seja poss\u00edvel comprimir 25x mais o que ele j\u00e1 comprimiu? Ser\u00e1 que os cientistas de computa\u00e7\u00e3o n\u00e3o arranjaram nada melhor?&#8221;.<\/p>\n\n\n\n<p>\u00c9 assim: O PNG \u00e9 feito para funcionar o melhor poss\u00edvel para todos os tipos de imagens, e n\u00e3o especificamente para um s\u00f3 tipo. Por isso s\u00e3o generalistas. Neste caso, as pessoas que desenvolveram o formato PNG poderiam ter conseguido o que consegui aqui se tentassem.<\/p>\n\n\n\n<p>O meu formato serviu para atacar um problema espec\u00edfico, que \u00e9 o da compress\u00e3o de imagens para videojogos, e por isso eu ataquei em for\u00e7a um problema espec\u00edfico, ao inv\u00e9s de tentar comprimir imagens no geral mais.<\/p>\n\n\n\n<p>O meu compressor n\u00e3o ultrapassa assim o PNG em todos os tipos de imagem, apenas em tipos de imagem espec\u00edficos, usados em videojogos.<\/p>\n\n\n\n<p>Neste caso, foi usado para tilesets de jogos, e da\u00ed, devido \u00e0 minha pouca originalidade para nomes, chamei-lhe TSF numa forma de brincadeira com a r\u00e1dio famosa, e por ser &#8220;Tile Set Format&#8221;, porque o estava a testar com tilesets para o meu Game Engine.<\/p>\n\n\n\n<p>Mas ele serve para problemas espec\u00edficos. Noutros formatos de imagem, fica pr\u00f3ximo ao formato PNG tradicional, ele s\u00f3 ganha em certo tipo de imagens.<\/p>\n\n\n\n<p>Mas como podem ver, o meu n\u00edvel de testes do meu Game Engine, ter\u00e1 um ficheiro execut\u00e1vel com perto de 300 KB a menos do que teria se usasse o formato PNG.<\/p>\n\n\n\n<p>Passei de 33 MB a 13 KB. De 33.000.000 a 13.326.<\/p>\n\n\n\n<p>Isto n\u00e3o \u00e9 nada ainda, um dia vou partilhar algo sobre o que chamo de &#8220;compress\u00e3o infinita&#8221;, algo mais virado para matem\u00e1ticas, e que poder\u00e3o achar interessante.<\/p>\n\n\n\n<p>De momento partilho convosco apenas isto, para que saibam, que, nem sempre o melhor poss\u00edvel foi atingido, e que por vezes vale a pena reinventar a roda. \ud83d\ude42<\/p>\n\n\n\n<p>Fiz isto agora porque costumo fazer algo para o Game Engine perto de ocasi\u00f5es festivas, como foi agora na \u00e9poca do S\u00e3o Jo\u00e3o, em que passei a noite a mexer no compressor, \u00e0 varanda, dado que n\u00e3o fui para a rua este ano.<\/p>\n\n\n\n<p>Mas estarei dedicado ao meu livro de Matem\u00e1tica &amp; F\u00edsica, e deixarei estas coisas para o pr\u00f3ximo ano.<\/p>\n\n\n\n<p>Este formato de imagem vai ser usado noutros projectos meus, como por exemplo o navegador de fractais, para vos permitir ter imagens dos vossos fractais favoritos guardadas ocupando menos espa\u00e7o no disco.<\/p>\n\n\n\n<p>Mas sim, 2500 vezes mais pequeno que o original, e 25 vezes mais pequeno que o formato PNG, comprimindo a imagem acima em 99,96% parece do outro mundo e dif\u00edcil de acreditar? Mas n\u00e3o \u00e9 assim tanto para uma pessoa que sem saber como consegue enrolar 2 frigideiras juntas com uma m\u00e3o quando o homem que levantou 500 Kg nem uma com duas m\u00e3os consegue. Para mim tudo \u00e9 poss\u00edvel. \ud83d\ude1b<\/p>\n\n\n\n<p>E j\u00e1 sabem como sou, eu n\u00e3o me contento com o que os outros usam.<\/p>\n\n\n\n<p>Mais not\u00edcias um dia.<\/p>\n\n\n\n<p>Hasta!<\/p>\n\n\n\n<p>2026-07-07.<\/p>\n\n\n\n<p>Pr\u00f3ximo post associado ao meu Game Engine:<\/p>\n\n\n\n<p>(A colocar um dia).<\/p>\n\n\n\n<p>\u00daltimo post, tamb\u00e9m associado ao meu Game Engine:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-gon-alo-ferreira wp-block-embed-gon-alo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"qAgfP2jkju\"><a href=\"https:\/\/www.goncalo.pt\/por\/2026\/06\/08\/2026-06-08-uso-de-fontes-bitmap-melhoria-de-performance-e-menus-gui-no-meu-explorador-de-fractais-e-game-engine-em-cpp\/\">2026-06-08 &#8211; Uso de fontes Bitmap, melhoria de performance, e menus GUI no meu Explorador de Fractais e Game Engine em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;2026-06-08 &#8211; Uso de fontes Bitmap, melhoria de performance, e menus GUI no meu Explorador de Fractais e Game Engine em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2026\/06\/08\/2026-06-08-uso-de-fontes-bitmap-melhoria-de-performance-e-menus-gui-no-meu-explorador-de-fractais-e-game-engine-em-cpp\/embed\/#?secret=QB5MXSa9oG#?secret=qAgfP2jkju\" data-secret=\"qAgfP2jkju\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">2026-06-08 \u2013 Uso de fontes Bitmap, melhoria de performance, e menus GUI no meu Explorador de Fractais e Game Engine em C++\u2026<\/figcaption><\/figure>\n\n\n\n<p>Partilhado no mesmo dia no meu LinkedIn, em:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/posts\/goncalopt_apresento-vos-o-meu-pr%C3%B3prio-formato-de-compress%C3%A3o-activity-7480270757634179072-Jzs4?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAABG7H2ABop3FluPLkJx4wf0Fa6gMHIcSrfI\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.linkedin.com\/posts\/goncalopt_apresento-vos-o-meu-pr%C3%B3prio-formato-de-compress%C3%A3o-activity-7480270757634179072-Jzs4?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAABG7H2ABop3FluPLkJx4wf0Fa6gMHIcSrfI<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1024x576.png\" alt=\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++...\" class=\"wp-image-4445\" style=\"width:1140px;height:auto\" srcset=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1024x576.png 1024w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-300x169.png 300w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-768x432.png 768w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-1536x864.png 1536w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\" alt=\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++...\" class=\"wp-image-4446\" style=\"width:1143px;height:auto\" srcset=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png 1024w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail-300x169.png 300w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail-768x432.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Apresento-vos o meu pr\u00f3prio formato de compress\u00e3o de imagem TSF, que comprime os tilesets dos meus futuros jogos 25 vezes<\/p>\n","protected":false},"author":1,"featured_media":4446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,350,284,5,134,44,4,164,346,162,133],"tags":[415,7,416,118,207,24,23,230,153,15,117,281,120,397,417,26,25],"class_list":["post-4444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-development","category-design-6-game-engine","category-platformers","category-programacao","category-retro-gaming","category-sistemas","category-softwares","category-top","category-top-10-game-engine","category-top-game-engine","category-video-jogos","tag-bitmap","tag-c","tag-compressao","tag-desenvolvimento-de-jogos","tag-dev","tag-game-dev","tag-game-engine","tag-gui","tag-imagens","tag-matematica","tag-motor-de-jogos","tag-platformer","tag-programacao","tag-tilesets","tag-tsf","tag-videogames","tag-videojogos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Apresento-vos o meu pr\u00f3prio formato de compress\u00e3o de imagem TSF, que comprime os tilesets dos meus futuros jogos 25 vezes\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-07T14:35:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-07T15:41:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;\",\"datePublished\":\"2026-07-07T14:35:23+00:00\",\"dateModified\":\"2026-07-07T15:41:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\"},\"wordCount\":1030,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\",\"keywords\":[\"Bitmap\",\"C++\",\"Compress\u00e3o\",\"Desenvolvimento de Jogos\",\"Dev\",\"Game Dev\",\"Game Engine\",\"GUI\",\"Imagens\",\"Matem\u00e1tica\",\"Motor de Jogos\",\"Platformer\",\"Programa\u00e7\u00e3o\",\"Tilesets\",\"TSF\",\"VideoGames\",\"VideoJogos\"],\"articleSection\":[\"Desenvolvimento de Jogos\",\"Design 6 Game Engine\",\"Platformers\",\"Programa\u00e7\u00e3o\",\"Retro Gaming\",\"Sistemas\",\"Softwares\",\"Top\",\"Top 10 Game Engine\",\"Top Game Engine\",\"Video Jogos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\",\"name\":\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\",\"datePublished\":\"2026-07-07T14:35:23+00:00\",\"dateModified\":\"2026-07-07T15:41:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png\",\"width\":1024,\"height\":576,\"caption\":\"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/","og_locale":"en_US","og_type":"article","og_title":"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira","og_description":"Apresento-vos o meu pr\u00f3prio formato de compress\u00e3o de imagem TSF, que comprime os tilesets dos meus futuros jogos 25 vezes","og_url":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2026-07-07T14:35:23+00:00","article_modified_time":"2026-07-07T15:41:56+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;","datePublished":"2026-07-07T14:35:23+00:00","dateModified":"2026-07-07T15:41:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/"},"wordCount":1030,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png","keywords":["Bitmap","C++","Compress\u00e3o","Desenvolvimento de Jogos","Dev","Game Dev","Game Engine","GUI","Imagens","Matem\u00e1tica","Motor de Jogos","Platformer","Programa\u00e7\u00e3o","Tilesets","TSF","VideoGames","VideoJogos"],"articleSection":["Desenvolvimento de Jogos","Design 6 Game Engine","Platformers","Programa\u00e7\u00e3o","Retro Gaming","Sistemas","Softwares","Top","Top 10 Game Engine","Top Game Engine","Video Jogos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/","url":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/","name":"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++... - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png","datePublished":"2026-07-07T14:35:23+00:00","dateModified":"2026-07-07T15:41:56+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2026\/07\/2026-07-07-My-own-image-format-that-compresses-game-images-30-times-more-than-png-file-format-using-cpp-thumbnail.png","width":1024,"height":576,"caption":"2026-07-07 - Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2026\/07\/07\/2026-07-07-comprimindo-imagens-25-vezes-mais-que-o-formato-png-2500x-mais-pequeno-que-um-bmp-99-96-de-compressao-com-o-meu-formato-de-imagem-tsf-em-cpp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2026-07-07 &#8211; Comprimindo imagens 25 vezes mais que o formato PNG, 2500x mais pequeno que um BMP, 99,96% de Compress\u00e3o com o meu Formato de Imagem TSF em C++&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4444"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=4444"}],"version-history":[{"count":5,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4444\/revisions"}],"predecessor-version":[{"id":4455,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4444\/revisions\/4455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/4446"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=4444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=4444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=4444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}