ಅತಿ ಚಿಕ್ಕ ಪಾರದರ್ಶಕ GIF 43 ಬೈಟ್ಗಳದ್ದು.
ಇಡೀ ಫೈಲ್ ಇಷ್ಟೇ. ಯಾವುದೇ ಬೈಟ್ ಏನು ಮಾಡುತ್ತದೆ ಎಂದು ನೋಡಲು ಅದನ್ನು ಆರಿಸಿ, ನಂತರ ಫೈಲ್ ಅನ್ನು ಕಾಪಿ ಮಾಡಿ, ಡೌನ್ಲೋಡ್ ಮಾಡಿ, ಹಾಟ್ಲಿಂಕ್ ಮಾಡಿ ಅಥವಾ ನಿಮ್ಮ ಸ್ವಂತ ಕೋಡ್ನಿಂದ ಸರ್ವ್ ಮಾಡಿ.

ಪ್ರತಿ ಬೈಟ್ ಏನು ಮಾಡುತ್ತದೆ
GIF ಎಂಬುದು ಬ್ಲಾಕ್ಗಳ ಅನುಕ್ರಮ. ಈ ಫೈಲ್ನಲ್ಲಿ ಏಳು ಬ್ಲಾಕ್ಗಳಿವೆ, ಮತ್ತು ಈ ಪುಟದ ಪ್ರತಿ ಬಣ್ಣವೂ ಅವುಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಸೇರಿದೆ. ಓದಲು ಒಂದು ಬೈಟ್ ಅಥವಾ ಬ್ಲಾಕ್ ಆರಿಸಿ. ಸಂಖ್ಯೆಗಳನ್ನು little-endian ಆಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ: ಕೆಳಗಿನ ಬೈಟ್ ಮೊದಲು ಬರುತ್ತದೆ, ಆದ್ದರಿಂದ 01 00 ಎಂದರೆ 1.
| ಬೈಟ್ಗಳು | ಫೀಲ್ಡ್ | ಅರ್ಥ |
|---|---|---|
| ಹೆಡರ್ ಇದು GIF ಎಂದು ಮತ್ತು ಫಾರ್ಮ್ಯಾಟ್ನ ಯಾವ ಆವೃತ್ತಿಯನ್ನು ನಿರೀಕ್ಷಿಸಬೇಕು ಎಂದು ಡಿಕೋಡರ್ಗೆ ತಿಳಿಸುತ್ತದೆ. | ||
| 47 49 46 | ಸಿಗ್ನೇಚರ್ | ASCII ಅಕ್ಷರಗಳು “GIF”. ಪ್ರತಿ GIF ಫೈಲ್ ಇವುಗಳಿಂದಲೇ ಆರಂಭವಾಗುತ್ತದೆ. |
| 38 39 61 | ಆವೃತ್ತಿ | “89a”. ಪಾರದರ್ಶಕತೆಗೆ 89a ಅಗತ್ಯ; 87a ನಲ್ಲಿ ಗ್ರಾಫಿಕ್ ಕಂಟ್ರೋಲ್ ಎಕ್ಸ್ಟೆನ್ಶನ್ ಇಲ್ಲ. |
| ಲಾಜಿಕಲ್ ಸ್ಕ್ರೀನ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಕ್ಯಾನ್ವಾಸ್ನ ಗಾತ್ರ ಮತ್ತು ಅದರ ಕಲರ್ ಟೇಬಲ್ ಅನ್ನು ಹೇಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. | ||
| 01 00 | ಕ್ಯಾನ್ವಾಸ್ ಅಗಲ | 1 px. |
| 01 00 | ಕ್ಯಾನ್ವಾಸ್ ಎತ್ತರ | 1 px. |
| 80 | ಪ್ಯಾಕ್ಡ್ ಫ್ಲ್ಯಾಗ್ಗಳು | ಒಂದೇ ಬೈಟ್ನಲ್ಲಿ ಅಡಕವಾದ ನಾಲ್ಕು ಸೆಟ್ಟಿಂಗ್ಗಳು. ಮೇಲಿನ ಬಿಟ್ ಮುಂದೆ ಗ್ಲೋಬಲ್ ಕಲರ್ ಟೇಬಲ್ ಇದೆ ಎಂದು ಹೇಳುತ್ತದೆ; ಕೊನೆಯ ಮೂರು ಬಿಟ್ಗಳು ಅದರ ಗಾತ್ರವನ್ನು ನೀಡುತ್ತವೆ. |
| 00 | ಹಿನ್ನೆಲೆ ಬಣ್ಣದ ಇಂಡೆಕ್ಸ್ | ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ 0. ಬ್ರೌಸರ್ಗಳು ಇದನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ, ಚಿತ್ರದ ಹಿಂದೆ ಇರುವುದನ್ನು ತೋರಿಸುತ್ತವೆ. |
| 00 | ಪಿಕ್ಸೆಲ್ ಆಸ್ಪೆಕ್ಟ್ ರೇಶಿಯೋ | 0 ಎಂದರೆ ಚೌಕಾಕಾರದ ಪಿಕ್ಸೆಲ್ಗಳು, ಯಾವುದೇ ತಿದ್ದುಪಡಿ ಇಲ್ಲ. |
| ಗ್ಲೋಬಲ್ ಕಲರ್ ಟೇಬಲ್ ಪ್ಯಾಲೆಟ್. ಪಿಕ್ಸೆಲ್ಗಳು ಬಣ್ಣದ ಬದಲು ಈ ಪಟ್ಟಿಯೊಳಗಿನ ಇಂಡೆಕ್ಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ. | ||
| FF FF FF | ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ | ಕೆಂಪು, ಹಸಿರು ಮತ್ತು ನೀಲಿ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ಒಂದು ಬೈಟ್: #ffffff. GIF ಹೊಂದಬಹುದಾದ ಅತಿ ಚಿಕ್ಕ ಟೇಬಲ್ ಎರಡು ಎಂಟ್ರಿಗಳದ್ದು. |
| 00 00 00 | ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ | ಕೆಂಪು, ಹಸಿರು ಮತ್ತು ನೀಲಿ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ಒಂದು ಬೈಟ್: #000000. GIF ಹೊಂದಬಹುದಾದ ಅತಿ ಚಿಕ್ಕ ಟೇಬಲ್ ಎರಡು ಎಂಟ್ರಿಗಳದ್ದು. |
| ಗ್ರಾಫಿಕ್ ಕಂಟ್ರೋಲ್ ಎಕ್ಸ್ಟೆನ್ಶನ್ GIF89a ನಲ್ಲಿ ಸೇರಿಸಲಾದ ಐಚ್ಛಿಕ ಬ್ಲಾಕ್. ಇಲ್ಲಿ ಇದು ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ 0 ಅನ್ನು ಪಾರದರ್ಶಕವಾಗಿಸುತ್ತದೆ. | ||
| 21 | ಎಕ್ಸ್ಟೆನ್ಶನ್ ಇಂಟ್ರೊಡ್ಯೂಸರ್ | 0x21 (“!”) ಒಂದು ಎಕ್ಸ್ಟೆನ್ಶನ್ ಬ್ಲಾಕ್ನ ಆರಂಭವನ್ನು ಘೋಷಿಸುತ್ತದೆ. |
| F9 | ಗ್ರಾಫಿಕ್ ಕಂಟ್ರೋಲ್ ಲೇಬಲ್ | ಈ ಎಕ್ಸ್ಟೆನ್ಶನ್ ಗ್ರಾಫಿಕ್ ಕಂಟ್ರೋಲ್ ಎಕ್ಸ್ಟೆನ್ಶನ್ ಎಂದು 0xF9 ಹೇಳುತ್ತದೆ. |
| 04 | ಬ್ಲಾಕ್ ಗಾತ್ರ | ಮುಂದೆ 4 ಬೈಟ್ಗಳ ಸೆಟ್ಟಿಂಗ್ಗಳು ಬರುತ್ತವೆ. |
| 01 | ಪ್ಯಾಕ್ಡ್ ಫ್ಲ್ಯಾಗ್ಗಳು | ಅತಿ ಕೆಳಗಿನ ಬಿಟ್ ಪಾರದರ್ಶಕತೆಯ ಫ್ಲ್ಯಾಗ್. ಅದು ಆನ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಕೆಳಗಿನ ಪಾರದರ್ಶಕ ಇಂಡೆಕ್ಸ್ ಬಳಕೆಯಾಗುತ್ತದೆ. |
| 00 00 | ವಿಳಂಬ | ಸೆಕೆಂಡಿನ 0 ನೂರನೇ ಭಾಗಗಳು. ಇದು ಅನಿಮೇಶನ್ಗಳಿಗೆ ಮಾತ್ರ ಮುಖ್ಯ. |
| 00 | ಪಾರದರ್ಶಕ ಬಣ್ಣದ ಇಂಡೆಕ್ಸ್ | ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ 0 ಅನ್ನು ಸಂಪೂರ್ಣ ಪಾರದರ್ಶಕವಾಗಿ ಚಿತ್ರಿಸಲಾಗುತ್ತದೆ. |
| 00 | ಬ್ಲಾಕ್ ಟರ್ಮಿನೇಟರ್ | ಬ್ಲಾಕ್ ಅನ್ನು ಮುಚ್ಚುವ ಶೂನ್ಯ ಉದ್ದದ ಸಬ್-ಬ್ಲಾಕ್. |
| ಇಮೇಜ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಚಿತ್ರ ಕ್ಯಾನ್ವಾಸ್ನಲ್ಲಿ ಎಲ್ಲಿದೆ ಮತ್ತು ಎಷ್ಟು ದೊಡ್ಡದಿದೆ. | ||
| 2C | ಇಮೇಜ್ ಸೆಪರೇಟರ್ | 0x2C (“,”) ಒಂದು ಚಿತ್ರವನ್ನು ಆರಂಭಿಸುತ್ತದೆ. |
| 00 00 | ಎಡ | ಚಿತ್ರ ಕ್ಯಾನ್ವಾಸ್ನ ಎಡ ಅಂಚಿನಿಂದ 0 px ದೂರದಲ್ಲಿ ಆರಂಭವಾಗುತ್ತದೆ. |
| 00 00 | ಮೇಲೆ | ಚಿತ್ರ ಕ್ಯಾನ್ವಾಸ್ನ ಮೇಲಿನ ಅಂಚಿನಿಂದ 0 px ದೂರದಲ್ಲಿ ಆರಂಭವಾಗುತ್ತದೆ. |
| 01 00 | ಚಿತ್ರದ ಅಗಲ | 1 px. |
| 01 00 | ಚಿತ್ರದ ಎತ್ತರ | 1 px. |
| 00 | ಪ್ಯಾಕ್ಡ್ ಫ್ಲ್ಯಾಗ್ಗಳು | ಲೋಕಲ್ ಕಲರ್ ಟೇಬಲ್ ಇಲ್ಲ, ಇಂಟರ್ಲೇಸ್ ಇಲ್ಲ. ಚಿತ್ರ ಗ್ಲೋಬಲ್ ಪ್ಯಾಲೆಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. |
| ಇಮೇಜ್ ಡೇಟಾ LZW ನಿಂದ ಕಂಪ್ರೆಸ್ ಮಾಡಿ, ಗರಿಷ್ಠ 255 ಬೈಟ್ಗಳ ಸಬ್-ಬ್ಲಾಕ್ಗಳಾಗಿ ವಿಭಜಿಸಲಾದ ಪಿಕ್ಸೆಲ್ಗಳು. | ||
| 02 | LZW ಕನಿಷ್ಠ ಕೋಡ್ ಗಾತ್ರ | 2, ಆದ್ದರಿಂದ ಕಂಪ್ರೆಸ್ಡ್ ಕೋಡ್ಗಳು 3 ಬಿಟ್ ಅಗಲದಿಂದ ಆರಂಭವಾಗುತ್ತವೆ. |
| 02 | ಸಬ್-ಬ್ಲಾಕ್ ಗಾತ್ರ | ಮುಂದೆ 2 ಬೈಟ್ಗಳ ಕಂಪ್ರೆಸ್ಡ್ ಡೇಟಾ ಬರುತ್ತದೆ. |
| 44 01 | ಕಂಪ್ರೆಸ್ಡ್ ಪಿಕ್ಸೆಲ್ಗಳು | ಅತಿ ಕೆಳಗಿನ ಬಿಟ್ನಿಂದ ಮೇಲಕ್ಕೆ ಪ್ಯಾಕ್ ಮಾಡಲಾದ LZW ಕೋಡ್ಗಳು. ಅವು ಹೇಗೆ ಡಿಕೋಡ್ ಆಗುತ್ತವೆ ಎಂದು ಕೆಳಗೆ ನೋಡಿ. |
| 00 | ಬ್ಲಾಕ್ ಟರ್ಮಿನೇಟರ್ | ಬ್ಲಾಕ್ ಅನ್ನು ಮುಚ್ಚುವ ಶೂನ್ಯ ಉದ್ದದ ಸಬ್-ಬ್ಲಾಕ್. |
| ಟ್ರೈಲರ್ ಫೈಲ್ನ ಅಂತ್ಯವನ್ನು ಸೂಚಿಸುವ ಒಂದು ಬೈಟ್. | ||
| 3B | ಟ್ರೈಲರ್ | 0x3B (“;”) ಫೈಲ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ. |
ಪ್ಯಾಕ್ಡ್ ಬೈಟ್ಗಳ ಒಳಗೆ
ಮೂರು ಬೈಟ್ಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದೂ ಹಲವು ಸಣ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಬಿಟ್ 7 ಅತ್ಯಂತ ಎಡದ್ದು.
0x800x010x00ಎರಡು ಬೈಟ್ಗಳು ಒಂದು ಪಿಕ್ಸೆಲ್ ಅನ್ನು ಹೇಗೆ ಹಿಡಿದಿಡುತ್ತವೆ
ಕನಿಷ್ಠ ಕೋಡ್ ಗಾತ್ರ 2 ಇದ್ದಾಗ, ಡಿಕೋಡರ್ 3-ಬಿಟ್ ಕೋಡ್ಗಳನ್ನು ಓದುತ್ತದೆ. ಕೋಡ್ 4 ಟೇಬಲ್ ಅನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ, ಕೋಡ್ 5 ಚಿತ್ರವನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು 0 ರಿಂದ 3 ರವರೆಗಿನ ಕೋಡ್ಗಳು ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿಗಳು. 44 01 ಬೈಟ್ಗಳನ್ನು ಅತಿ ಕೆಳಗಿನ ಬಿಟ್ನಿಂದ ಮೇಲಕ್ಕೆ ಓದಲಾಗುತ್ತದೆ:
0x44 010001000x01 00000001
- 001100 = 4ಕ್ಲಿಯರ್: ಹೊಸ ಟೇಬಲ್ನೊಂದಿಗೆ ಆರಂಭಿಸಿ
- 000000 = 0ಪಿಕ್ಸೆಲ್: ಪ್ಯಾಲೆಟ್ ಎಂಟ್ರಿ 0
- 101101 = 5ಚಿತ್ರದ ಅಂತ್ಯ
- 0000000 ಬಳಕೆಯಾಗದ ಪ್ಯಾಡಿಂಗ್ ಬಿಟ್ಗಳು
ದೊಡ್ಡ ಚಿತ್ರಗಳೂ ಇದೇ ತಂತ್ರವನ್ನು ಬಳಸುತ್ತವೆ: ಪ್ರತಿ ಹೊಸ ಕೋಡ್ ಹಿಂದಿನದಕ್ಕಿಂತ ಒಂದು ಪಿಕ್ಸೆಲ್ ಉದ್ದದ ಸರಣಿಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ 1000×1000 ಪಾರದರ್ಶಕ GIF ಕೇವಲ 1,743 ಬೈಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
ಇದು ಇನ್ನೂ ಚಿಕ್ಕದಾಗಬಹುದೇ?
ಹೌದು, ಡಿಕೋಡರ್ಗಳು ಇಲ್ಲದಿದ್ದರೂ ಸಹಿಸಿಕೊಳ್ಳುವ ಭಾಗಗಳನ್ನು ತೆಗೆದರೆ. ನಾವು ಪ್ರತಿ ವೇರಿಯಂಟ್ ಅನ್ನು ಮೂರು ಬ್ರೌಸರ್ ಎಂಜಿನ್ಗಳಿಗೆ ಮತ್ತು Pillow ಗೆ ನೀಡಿ, ಅವು ಏನು ಚಿತ್ರಿಸಿದವು ಎಂದು ದಾಖಲಿಸಿದ್ದೇವೆ.
| ಗಾತ್ರ | ವೇರಿಯಂಟ್ | Chromium | Firefox | WebKit | Pillow |
|---|---|---|---|---|---|
| 43 | ಈ ಪುಟದ ಪ್ರಮಾಣಿತ ಫೈಲ್. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ |
| 42 | ಟ್ರೈಲರ್ ಬೈಟ್ ಇಲ್ಲ. ಡಿಕೋಡರ್ಗಳು ಹೇಗಿದ್ದರೂ ಡೇಟಾದ ಕೊನೆಯಲ್ಲಿ ನಿಲ್ಲುತ್ತವೆ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ |
| 37 | ಪ್ಯಾಲೆಟ್ ಇಲ್ಲವೇ ಇಲ್ಲ. ಆದರೂ ಮಾನ್ಯ: ಸ್ಪೆಸಿಫಿಕೇಶನ್ ಡಿಕೋಡರ್ಗಳಿಗೆ ತಮ್ಮದೇ ಪ್ಯಾಲೆಟ್ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ಇಂಡೆಕ್ಸ್ 0 ಹೇಗಿದ್ದರೂ ಪಾರದರ್ಶಕ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ |
| 36 | ಪ್ಯಾಲೆಟ್ ಇಲ್ಲ, ಟ್ರೈಲರ್ ಇಲ್ಲ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ |
| 35 | ಪಾರದರ್ಶಕತೆ ಬ್ಲಾಕ್ ಇಲ್ಲ: ಪಿಕ್ಸೆಲ್ ಅನ್ನು ಪ್ಯಾಲೆಟ್ ಬಣ್ಣ 0, ಅಂದರೆ ಬಿಳಿ, ಯಲ್ಲಿ ಚಿತ್ರಿಸಲಾಗುತ್ತದೆ. | ಬಿಳಿ | ಬಿಳಿ | ಬಿಳಿ | ಬಿಳಿ |
| 35 | 1987 ರ ಫಾರ್ಮ್ಯಾಟ್. ಇದರಲ್ಲಿ ಬಣ್ಣವನ್ನು ಪಾರದರ್ಶಕ ಎಂದು ಗುರುತಿಸಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ. | ಬಿಳಿ | ಬಿಳಿ | ಬಿಳಿ | ಬಿಳಿ |
| 34 | ಪಾರದರ್ಶಕತೆ ಬ್ಲಾಕ್ ಇದೆ, ಆದರೆ ಕಂಪ್ರೆಸ್ಡ್ ಪಿಕ್ಸೆಲ್ಗಳಿಲ್ಲ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ದೋಷ |
| 33 | ಅದೇ, ಟ್ರೈಲರ್ ಇಲ್ಲದೆ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ದೋಷ |
| 29 | ಪ್ಯಾಲೆಟ್ ಇಲ್ಲ, ಪಾರದರ್ಶಕತೆ ಇಲ್ಲ. ಪ್ರತಿ ಎಂಜಿನ್ ತನ್ನದೇ ಬಣ್ಣವನ್ನು ಆರಿಸುತ್ತದೆ. | ಕಪ್ಪು | ಬಿಳಿ | ಪಾರದರ್ಶಕ | ಕಪ್ಪು |
| 26 | ಯಾವುದೇ ಕಂಪ್ರೆಸ್ಡ್ ಡೇಟಾ ಇಲ್ಲದ ಚಿತ್ರ. | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ಪಾರದರ್ಶಕ | ದೋಷ |
| 14 | ಹೆಡರ್, ಕ್ಯಾನ್ವಾಸ್ ಗಾತ್ರ ಮತ್ತು ಟ್ರೈಲರ್ ಮಾತ್ರ. ಇದರಲ್ಲಿ ಯಾವುದೇ ಚಿತ್ರವಿಲ್ಲ. | ಪಾರದರ್ಶಕ | ದೋಷ | ಪಾರದರ್ಶಕ | ದೋಷ |
ಎಲ್ಲೆಡೆ ಕೆಲಸ ಮಾಡಲೇಬೇಕಾದಾಗ 43 ಬೈಟ್ಗಳನ್ನು ಬಳಸಿ. 37 ಬೈಟ್ಗಳದ್ದೂ ಮಾನ್ಯ GIF ಆಗಿದ್ದು, ನಾವು ಪರೀಕ್ಷಿಸಿದ ಎಲ್ಲಾ ಎಂಜಿನ್ಗಳಲ್ಲಿ ಪಾರದರ್ಶಕವಾಗಿತ್ತು. ಅದಕ್ಕಿಂತ ಕಡಿಮೆಯಾದರೆ ನೀವು ಡಿಕೋಡರ್ನ ಸಡಿಲತೆಯನ್ನು ಅವಲಂಬಿಸುತ್ತೀರಿ; ಎಂಜಿನ್ಗಳು ಹೇಗೆ ಭಿನ್ನವಾಗಿ ವರ್ತಿಸುತ್ತವೆ ಎಂದು 29 ಬೈಟ್ನ ಫೈಲ್ ತೋರಿಸುತ್ತದೆ.
ಸೆಪ್ಟೆಂಬರ್ 23, 2026 ರಂದು Chromium 153.0.8010.12, Firefox 155.0, WebKit 26.6, Pillow 12.2.0 ನಲ್ಲಿ ಪರಿಶೀಲಿಸಲಾಗಿದೆ.
ಯಾವುದೇ ಗಾತ್ರದಲ್ಲಿ ರಚಿಸಿ
ಪಾರದರ್ಶಕ ಅಥವಾ ಏಕವರ್ಣ, 1×1 ರಿಂದ 65535×65535 ರವರೆಗೆ. ಇದು ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲೇ ರಚನೆಯಾಗುತ್ತದೆ; ಏನನ್ನೂ ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
ಹಾಟ್ಲಿಂಕ್ ಮಾಡಿ
ಯಾವುದೇ ಸೈಟ್, ಇಮೇಲ್ ಅಥವಾ ಆ್ಯಪ್ನಿಂದ ಈ ಫೈಲ್ಗಳಿಗೆ ನೇರವಾಗಿ ಲಿಂಕ್ ಮಾಡಿ. ಇವುಗಳನ್ನು ದೀರ್ಘ ಕ್ಯಾಶ್ ಅವಧಿಯೊಂದಿಗೆ Cloudflare ನ ಎಡ್ಜ್ನಿಂದ ಸರ್ವ್ ಮಾಡಲಾಗುತ್ತದೆ, ಮತ್ತು CORS ಎಲ್ಲರಿಗೂ ತೆರೆದಿದೆ.
- 43 ಬೈಟ್ನ ಫೈಲ್
https://emptygif.com/1x1.gif - ಯಾವುದೇ ಗಾತ್ರ, ಪಾರದರ್ಶಕ
https://emptygif.com/px/300x250.gif - ಯಾವುದೇ ಗಾತ್ರ, ಏಕವರ್ಣ
https://emptygif.com/px/300x250/ff5a1f.gif - JSON API: ಗಾತ್ರ, base64 ಮತ್ತು data URI
https://emptygif.com/api/gif?w=300&h=250 - ಎಲ್ಲಾ ಸ್ನಿಪೆಟ್ಗಳು JSON ಆಗಿ
https://emptygif.com/snippets.json - AI ಏಜೆಂಟ್ಗಳಿಗಾಗಿ ಸಾರಾಂಶ
https://emptygif.com/llms.txt
ರೆಸ್ಪಾನ್ಸ್ ಹೆಡರ್ಗಳು
HTTP/2 200
content-type: image/gif
content-length: 43
cache-control: public, max-age=31536000, immutable
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
timing-allow-origin: *ಉದಾಹರಣೆ
<img src="https://emptygif.com/1x1.gif" width="1" height="1" alt="">
ರಚಿಸಲಾದ ಗಾತ್ರಗಳು ಪ್ರತಿ ಬದಿಗೆ 4096 px ವರೆಗೆ. ನಿಮ್ಮಲ್ಲಿ ಭಾರೀ ಟ್ರಾಫಿಕ್ ಇದ್ದರೆ ದಯವಿಟ್ಟು ಫೈಲ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ನೀವೇ ಹೋಸ್ಟ್ ಮಾಡಿ.
ನಿಮ್ಮ ಸ್ಟ್ಯಾಕ್ನಿಂದ ಸರ್ವ್ ಮಾಡಿ
ರನ್ ಮಾಡಲು ಸಿದ್ಧವಾದ 173 ಸ್ನಿಪೆಟ್ಗಳು. ನಿಮ್ಮದನ್ನು ಆರಿಸಿ: ಪ್ರತಿಯೊಂದೂ ನೀವು ಆರಿಸುವ ಪಾತ್ನಲ್ಲಿ image/gif ರೆಸ್ಪಾನ್ಸ್ ನೀಡುತ್ತದೆ. ನೀವು ಮೇಲೆ ಗಾತ್ರ ಅಥವಾ ಬಣ್ಣವನ್ನು ಬದಲಿಸಿದ್ದರೆ, ಸ್ನಿಪೆಟ್ಗಳು ಆ GIF ಅನ್ನೇ ಬಳಸುತ್ತವೆ.
JavaScript & TypeScript
Edge & serverless
- Cloudflare Workers
- Cloudflare Workers (Rust, workers-rs)
- Cloudflare Pages Functions
- Deno Deploy (deno serve)
- Vercel Functions
- Netlify Functions
- Netlify Edge Functions
- AWS Lambda (Node.js)
- AWS Lambda (Python)
- AWS Lambda (Go)
- AWS Lambda (Rust, lambda_http)
- AWS Lambda@Edge (CloudFront)
- Google Cloud Run functions (Node.js)
- Google Cloud Run functions (Python)
- Firebase Cloud Functions + Hosting
- Azure Functions (Node.js v4 model)
- Fastly Compute (JavaScript)
Python
JVM
PHP
Elixir, Erlang & Gleam
Functional languages
C, C++ & systems languages
Swift, Dart & other languages
Web servers & proxies
Command line & one-liners
Express JavaScript
import express from 'express';
const GIF = Buffer.from('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', 'base64');
const app = express();
app.get('/pixel.gif', (req, res) => {
res.set('Cache-Control', 'no-store');
res.type('gif').send(GIF);
});
app.listen(8080);
ನಾವು ಈ ಸ್ನಿಪೆಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಅದು ಹಿಂತಿರುಗಿಸಿದ ಬೈಟ್ಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇವೆ. ಪುಟ ತೆರೆಯಿರಿ
ಇದನ್ನು ಯಾವುದಕ್ಕೆ ಬಳಸಲಾಗುತ್ತದೆ
- ಟ್ರ್ಯಾಕಿಂಗ್ ಪಿಕ್ಸೆಲ್ಗಳು ಮತ್ತು ಬೀಕನ್ಗಳು: ಸರ್ವರ್ ವಿನಂತಿಯನ್ನು ಲಾಗ್ ಮಾಡಿ, ಅತಿ ಚಿಕ್ಕ ಮಾನ್ಯ ಚಿತ್ರದೊಂದಿಗೆ ಉತ್ತರಿಸುತ್ತದೆ.
- lazy-load ಆಗುವ ಚಿತ್ರಗಳಿಗೆ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳು, ಆದ್ದರಿಂದ ನಿಜವಾದ ಮೂಲ ಬರುವ ಮೊದಲೇ
imgಟ್ಯಾಗ್ ಮಾನ್ಯವಾಗಿರುತ್ತದೆ. - CSS ಬೆಂಬಲ ಅಸಮರ್ಪಕವಾಗಿರುವ HTML ಇಮೇಲ್ಗಳಲ್ಲಿ ನಿಗದಿತ ಗಾತ್ರದ ಸ್ಪೇಸರ್ಗಳು.
- ಚಿತ್ರ ಫೈಲ್ ಅನ್ನು ಜೊತೆಗಿಟ್ಟುಕೊಳ್ಳದೆ ನಿಜವಾದ ಚಿತ್ರ ಬೇಕಾಗುವ ಟೆಸ್ಟ್ಗಳು ಮತ್ತು mock ಗಳು.
ಟ್ರ್ಯಾಕಿಂಗ್ ಪಿಕ್ಸೆಲ್ಗಳು ಕಾಣುವಷ್ಟು ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲ
Mail Privacy Protection ಆನ್ ಆಗಿದ್ದಾಗ Apple Mail ರಿಮೋಟ್ ಚಿತ್ರಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಮೊದಲೇ ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಒಂದು “ಓಪನ್” ಯಾವುದೇ ವ್ಯಕ್ತಿಯಿಂದ ಆಗಿರದೇ ಇರಬಹುದು. Gmail ಕೂಡ ಚಿತ್ರಗಳನ್ನು ತನ್ನದೇ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ತಂದು ಕ್ಯಾಶ್ ಮಾಡುತ್ತದೆ. ಅನೇಕ ಕ್ಲೈಂಟ್ಗಳು ಡೀಫಾಲ್ಟ್ ಆಗಿ ರಿಮೋಟ್ ಚಿತ್ರಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತವೆ. ಪುಟದ ಅನಾಲಿಟಿಕ್ಸ್ಗೆ, ಚಿತ್ರಕ್ಕಿಂತ navigator.sendBeacon() ಅಥವಾ 204 No Content ರೆಸ್ಪಾನ್ಸ್ ಹೆಚ್ಚಾಗಿ ಸೂಕ್ತ.
ಪ್ರಶ್ನೆಗಳು
- ಇದರಲ್ಲಿ ಪಿಕ್ಸೆಲ್ ಇದ್ದರೂ ಇದನ್ನು ಖಾಲಿ ಎಂದು ಏಕೆ ಕರೆಯುತ್ತಾರೆ?
- GIF ನಲ್ಲಿ ಕನಿಷ್ಠ ಒಂದು ಪಿಕ್ಸೆಲ್ ಇರಲೇಬೇಕು. ಇದು 1×1 ಆಗಿದ್ದು, ಇದರ ಏಕೈಕ ಬಣ್ಣವನ್ನು ಪಾರದರ್ಶಕ ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಏನೂ ಕಾಣುವುದಿಲ್ಲ.
- 43 ಬೈಟ್ನ ಫೈಲ್ ಮಾನ್ಯವೇ?
- ಹೌದು. ಇದು GIF89a ಸ್ಪೆಸಿಫಿಕೇಶನ್ ಅನ್ನು ನಿಖರವಾಗಿ ಅನುಸರಿಸುತ್ತದೆ, ಮತ್ತು ಮೇಲಿನ ಟೇಬಲ್ನ ಪ್ರತಿ ಎಂಜಿನ್ ಇದನ್ನು ಪಾರದರ್ಶಕವಾಗಿ ಚಿತ್ರಿಸುತ್ತದೆ.
- PNG ಅಥವಾ WebP ಬದಲು GIF ಏಕೆ?
- ಇದು ಅತಿ ಚಿಕ್ಕ ಪಾರದರ್ಶಕ PNG ಗಿಂತಲೂ ಚಿಕ್ಕದು, ಮತ್ತು ಕಳೆದ 35 ವರ್ಷಗಳ ಪ್ರತಿ ಬ್ರೌಸರ್, ಇಮೇಲ್ ಕ್ಲೈಂಟ್ ಮತ್ತು ಇಮೇಜ್ ಲೈಬ್ರರಿ ಇದನ್ನು ಓದಬಲ್ಲವು.
- ನಾನು data URI ಬಳಸಲೇ ಅಥವಾ ಫೈಲ್?
- data URI ಒಂದು ವಿನಂತಿಯನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳು ಹಾಗೂ CSS ಗೆ ಸೂಕ್ತ. ಟ್ರ್ಯಾಕಿಂಗ್ ಪಿಕ್ಸೆಲ್ಗಳಂತೆ ವಿನಂತಿಯೇ ಉದ್ದೇಶವಾಗಿದ್ದಾಗ ಫೈಲ್ ಅಥವಾ ಎಂಡ್ಪಾಯಿಂಟ್ ಬೇಕು.
- ಯಾವ Content-Type ಕಳುಹಿಸಬೇಕು?
image/gif. ಪ್ರತಿ ವಿನಂತಿಯೂ ನಿಮ್ಮ ಸರ್ವರ್ ತಲುಪಲೇಬೇಕಾದರೆCache-Control: no-storeಸೇರಿಸಿ.