2011-10-26 20 views
5

Próbuję znaleźć sposób utworzenia obrazu o zerowej szerokości i zerowej wysokości, który byłby zgodny ze standardem dowolnego formatu.Jak utworzyć pusty obraz (0x0)?

Próbowałem już Windows Bitmap (BMP) format (54-bajtowy plik nagłówkowy), ale wygląda na to, że czytniki obrazów go nie zaakceptują.

teoretyczna 0x0-bajtowy ciąg BMP:

424D360000000000000036000000280000000000000000000000010020000000000000000000C40E0000C40E00000000000000000000 

Który format poprze tego i jakie narzędzia można używać go utworzyć? Wystarczyłoby rozwiązanie programistyczne (np. Skrypt C# System.Drawing).

Odpowiedz

5

Czytniki obrazu będą miały tendencję do nieakceptowania szerokości mniejszej niż 1 lub wysokości mniejszej niż 1. Dlatego musimy pozostać przy 1x1 jako minimum, które może być praktycznie użyte, nawet jeśli 0x0 jest dozwolone przez specyfikację niektóre formaty obrazów. 67-bajtowy PNG jest szczegółowo opisany pod numerem http://garethrees.org/2007/11/14/pngcrush/, być może najmniejszym. Przezroczysty można również zrobić w 67 bajtach.

0

Tak, przezroczysty obraz 1x1 powinien wystarczyć. Lub możesz zrobić obiekt 0x0, który używa obrazu. Na przykład: PictureBox o wysokości = 0 i szerokość = 0, jeśli zamierzasz użyć obrazu w programie. Metoda, z której korzystałem z powodzeniem.

Ale z twojego pytania nie mogę zrozumieć, czy ma to jakiś związek z programowaniem, a nie z tworzeniem obrazu. I nie rozumiem, dlaczego potrzebujesz obrazu 0x0, czarownica jest praktycznie niewidoczna ... Ale myślę, że masz swoje powody.

+3

Przypuszczałem, że robią to, bo wydawało się, że układanka zabawy :) –

+0

dobry punkt! Wyjaśnia wiele moich pytań. – AlexSavAlexandrov

0

Oto SVG plik, który jest w zasadzie pusty:

<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg"/> 

który 1x1px domyślnie.

Aby wymusić 0x0px obrazu, można spróbować:

<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"/>