ΠΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π² HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ β ΡΠΈΠΏΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΡΡΡΠΎΠ², ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ
ΡΠΎΡΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ 1Π‘ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΠΊ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ: Π·Π΄Π΅ΡΡ Π½Π΅Ρ ΡΠ΅Π³Π° <img src="..."> Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π² Π±Π°Π·Π΅ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈ ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π² HTML.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π²ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· 1Π‘ Π² HTML β ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ WebKit. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ 1Π‘ 8.3, Ρ ΡΡΡΡΠΎΠΌ Π½ΡΠ°Π½ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ (.jpg, .png, .bmp) ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ: ΠΏΠΎΡΠ΅ΠΌΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΎΡΡΡΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π· Base64, ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ "Π±ΠΈΠ»Π΄ΠΈΡΡΡ" Π² PDF, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ β FAQ Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° ΡΠ°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΡΠ΅ΠΊ-Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
1. Π‘ΠΏΠΎΡΠΎΠ± β1: ΠΡΠ²ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ β ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· 1Π‘ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π½Π΅Π³ΠΎ Π² HTML ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ <img>. ΠΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΠ΅ΡΠ°ΡΡHTML).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ:
- ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
- Π‘ΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΡ
Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ
.pngΠΈΠ»ΠΈ.jpg. - Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ HTML-ΠΊΠΎΠ΄ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΡΠΎΡ ΡΠ°ΠΉΠ».
- ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° "ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°"
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΠΉΡΠΈΠΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ("Π’ΠΎΠ²Π°Ρ1").ΠΠΎΠ»ΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ½ΠΊΡ();
// Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»
ΠΠΌΡΠ€Π°ΠΉΠ»Π° = ΠΠ°ΡΠ°Π»ΠΎΠ³ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π€Π°ΠΉΠ»ΠΎΠ²() + "temp_image.png";
ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠ°ΠΏΠΈΡΠ°ΡΡ(ΠΠΌΡΠ€Π°ΠΉΠ»Π°);
// Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ HTML
HTMLΠ’Π΅ΠΊΡΡ = "<html><body><img src='" + ΠΠΌΡΠ€Π°ΠΉΠ»Π° + "' width='200'></body></html>";
// ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠΎΠ»Π΅ HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°)
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡΠ€ΠΎΡΠΌΡ.ΠΠΎΠ»Π΅HTML.ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = HTMLΠ’Π΅ΠΊΡΡ;
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΈΡ
Π½Π΅ ΡΠ΄Π°Π»ΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π£Π΄Π°Π»ΠΈΡΡΠ€Π°ΠΉΠ»Ρ(ΠΠΌΡΠ€Π°ΠΉΠ»Π°) ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ.
ΠΠ»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°:
- πΉ ΠΡΠΎΡΡΠΎΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ β Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
- πΉ Π Π°Π±ΠΎΡΠ°Π΅Ρ Π² Π»ΡΠ±ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
- πΉ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅Π΅Ρ ΡΠΈΡΠ°ΡΡ 1Π‘.
ΠΠΈΠ½ΡΡΡ:
- πΈ ΠΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΠΏΡΡΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ.
- πΈ Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠ°Π² Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
2. Π‘ΠΏΠΎΡΠΎΠ± β2: ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Base64 Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² HTML
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ "Π²Π½ΡΡΡΠΈ" HTML-ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΡΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Base64. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π³ <img> ΡΠ΅ΡΠ΅Π· ΡΡ
Π΅ΠΌΡ data:.
Π€ΠΎΡΠΌΠ°Ρ ΡΡΡΠ»ΠΊΠΈ:
<img src="data:image/png;base64,ΠΠΠΠ‘Π¬_ΠΠΠΠΠΠΠ ΠΠΠΠΠΠ«Π_ΠΠΠΠΠ«Π">
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° 1Π‘:
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ.ΠΠ°ΠΊΠ°Π·ΠΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ.Π’Π΅ΠΊΡΡΠΈΠΉΠΠΎΠΊΡΠΌΠ΅Π½Ρ().ΠΠΎΠ»ΡΡΠΈΡΡΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅();
// ΠΠΎΠ΄ΠΈΡΡΠ΅ΠΌ Π² Base64
ΠΠ°Π²ΠΎΠ΄ = ΠΠΎΠ²ΡΠΉ ΠΠ°Π²ΠΎΠ΄ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
Π‘ΡΡΠΎΠΊ();
Base64ΠΠ°Π½Π½ΡΠ΅ = ΠΠ°Π²ΠΎΠ΄.ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡΠ‘ΡΡΠΎΠΊΡΠBase64(ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠΎΠ»ΡΡΠΈΡΡΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ΠΠ°Π½Π½ΡΠ΅());
// Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ HTML
HTMLΠ’Π΅ΠΊΡΡ = "<img src='data:image/png;base64," + Base64ΠΠ°Π½Π½ΡΠ΅ + "'>";
ΠΠ°ΠΆΠ½ΡΠ΅ Π½ΡΠ°Π½ΡΡ:
- πΉ Π£ΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ MIME-ΡΠΈΠΏ (
image/png,image/jpeg). - πΉ Base64 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π½Π° ~33% β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- πΉ Π 1Π‘ 8.3.20+ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π‘ΡΡΠΎΠΊΠ°Base64ΠΈΠ· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Outlook) ΠΌΠΎΠ³ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· Base64 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠΈΡΡΠΌΠ°Ρ
. ΠΠ»Ρ ΡΠ°ΡΡΡΠ»ΠΎΠΊ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΅Ρ MIME-ΡΠΈΠΏ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ .jpg ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ data:image/jpeg;base64,..., Π° Π½Π΅ data:image/jpg;base64,... β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
3. Π‘ΠΏΠΎΡΠΎΠ± β3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠ° 1Π‘
ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²ΡΠ΄Π°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΡΠΎΠΌ) ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTTP-ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΏΠΎ URL, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΌΡ 1Π‘, Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ:
- Π‘ΠΎΠ·Π΄Π°ΡΠΌ HTTP-ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘.
- Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
- Π HTML Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅Π³
<img src="http://Π²Π°Ρ_ΡΠ΅ΡΠ²Π΅Ρ/hs/image?id=123">.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠ°:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΠΎΠ»ΡΡΠΈΡΡΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅(ΠΠ°ΠΏΡΠΎΡ) ΠΠΊΡΠΏΠΎΡΡ
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ID ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ°
ID = Π§ΠΈΡΠ»ΠΎ(ΠΠ°ΠΏΡΠΎΡ.ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.ΠΠΎΠ»ΡΡΠΈΡΡ("id"));
// ΠΡΠ΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² Π±Π°Π·Π΅ (ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° "ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ")
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ.ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ.ΠΠ°ΠΉΡΠΈΠΠΎΠΠΎΠ΄Ρ(ID);
ΠΡΠ»ΠΈ ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΡΡΡΠ°Ρ() Π’ΠΎΠ³Π΄Π°
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΠΎΠ²ΡΠΉ HTTPΠ‘Π΅ΡΠ²ΠΈΡΠΡΠ²Π΅Ρ(404, "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ");
ΠΠΎΠ½Π΅ΡΠΡΠ»ΠΈ;
// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ MIME-ΡΠΈΠΏΠΎΠΌ
ΠΡΠ²Π΅Ρ = ΠΠΎΠ²ΡΠΉ HTTPΠ‘Π΅ΡΠ²ΠΈΡΠΡΠ²Π΅Ρ(200);
ΠΡΠ²Π΅Ρ.ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.ΠΡΡΠ°Π²ΠΈΡΡ("Content-Type", "image/png");
ΠΡΠ²Π΅Ρ.Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ’Π΅Π»ΠΎΠΠ·ΠΠ²ΠΎΠΈΡΠ½ΡΡ
ΠΠ°Π½Π½ΡΡ
(ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠΎΠ»ΡΡΠΈΡΡΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ΠΠ°Π½Π½ΡΠ΅());
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΡΠ²Π΅Ρ;
ΠΠΎΠ½Π΅ΡΠ€ΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°:
- πΉ ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π° Π΄ΠΈΡΠΊ.
- πΉ ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ.
- πΉ ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
- πΈ Π’ΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ IIS/Apache Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠ°.
- πΈ ΠΡΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ (Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ IP).
ΠΠ°ΠΊ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ HTTP-ΡΠ΅ΡΠ²ΠΈΡ Π² 1Π‘
ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3:
1. Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π²Π΅ΡΠΊΡ "HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ".
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "/hs").
3. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° GET Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "image".
4. ΠΠΏΡΠ±Π»ΠΈΠΊΡΠΉΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΡΠ΅Π· "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅".
5. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ΅ΡΡΠ½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
4. Π‘ΠΏΠΎΡΠΎΠ± β4: ΠΡΠ²ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· WebKit (Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠΎΡΠΌ)
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠΎΡΠΌΠ΅ 1Π‘ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠΎΠ»Π΅ ΠΠΎΠ»Π΅HTMLΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ WebKit. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ»Π΅ HTML:
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ° ΡΠΎΡΠΌΡ
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = ΠΠ±ΡΠ΅ΠΊΡ.ΠΠ°ΡΡΠΈΠ½ΠΊΠ°Π’ΠΎΠ²Π°ΡΠ°;
// ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π² Base64 (ΠΊΠ°ΠΊ Π² Π‘ΠΏΠΎΡΠΎΠ±Π΅ β2)
ΠΠ°Π²ΠΎΠ΄ = ΠΠΎΠ²ΡΠΉ ΠΠ°Π²ΠΎΠ΄ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
Π‘ΡΡΠΎΠΊ();
Base64ΠΠ°Π½Π½ΡΠ΅ = ΠΠ°Π²ΠΎΠ΄.ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡΠ‘ΡΡΠΎΠΊΡΠBase64(ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠΎΠ»ΡΡΠΈΡΡΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ΠΠ°Π½Π½ΡΠ΅());
// Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ HTML Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ
HTMLΠ’Π΅ΠΊΡΡ = "<!DOCTYPE html>
<html>
<head><meta charset='utf-8'></head>
<body>
<h2>ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ°</h2>
<img src='data:image/png;base64," + Base64ΠΠ°Π½Π½ΡΠ΅ + "' style='max-width: 300px;'>
</body>
</html>";
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ ΡΠΎΡΠΌΡ
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡΠ€ΠΎΡΠΌΡ.ΠΠΎΠ»Π΅HTML.ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = HTMLΠ’Π΅ΠΊΡΡ;
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ WebKit:
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
|---|---|
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ | PNG, JPEG, GIF, BMP |
| ΠΠ°ΠΊΡ. ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ | ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΠ°ΠΌΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ < 5 ΠΠ) |
| Π Π°Π±ΠΎΡΠ° Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ | β ΠΠ΅Ρ |
| Π Π°Π±ΠΎΡΠ° Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ | β οΈ Π§Π°ΡΡΠΈΡΠ½ΠΎ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ) |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ WebKit Π² ΡΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (> 2 ΠΠ) ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ.
5. Π‘ΠΏΠΎΡΠΎΠ± β5: ΠΠΊΡΠΏΠΎΡΡ Π² PDF Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ
ΠΡΠ»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ β ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ°ΠΉΡ-Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³), ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠΊΡΠΏΠΎΡΡΠ° Π² PDF ΡΠ΅ΡΠ΅Π· Π’Π°Π±Π»ΠΈΡΠ½ΡΠΉΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉΠΠΎΠΊΡΠΌΠ΅Π½Ρ. 1Π‘ ΡΠΌΠ΅Π΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΏΡΡΠΌΠΎ Π² PDF Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ:
// Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
Π’Π°Π±ΠΠΎΠΊ = ΠΠΎΠ²ΡΠΉ Π’Π°Π±Π»ΠΈΡΠ½ΡΠΉΠΠΎΠΊΡΠΌΠ΅Π½Ρ;
// ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΠΉΡΠΈΠΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ("Π’ΠΎΠ²Π°Ρ1").ΠΠ°ΡΡΠΈΠ½ΠΊΠ°;
Π’Π°Π±ΠΠΎΠΊ.ΠΡΡΠ°Π²ΠΈΡΡΠΠ°ΡΡΠΈΠ½ΠΊΡ(1, 1, ΠΠ°ΡΡΠΈΠ½ΠΊΠ°);
// ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π² PDF
Π’Π°Π±ΠΠΎΠΊ.ΠΠ°ΠΏΠΈΡΠ°ΡΡ("C:\Temp\ΠΡΠ°ΠΉΡ.pdf", Π’ΠΈΠΏΠ€Π°ΠΉΠ»Π°Π’Π°Π±Π»ΠΈΡΠ½ΠΎΠ³ΠΎΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.PDF);
ΠΡΠ°Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ PDF:
- πΉ ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² PDF ΡΠΆΠΈΠΌΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΡ.
- πΉ ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°) ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π²
Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. - πΉ Π 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3.21+ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ
PNGΠ² PDF.
ΠΡΠ»ΠΈ PDF Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ°: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΊΡΠΏΠΎΡΡ Π² XPS Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠ΅ΠΉ Π² PDF.
Π‘ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΠΌΠ°ΠΊΡ. 1000px ΠΏΠΎ ΡΠΈΡΠΈΠ½Π΅)|Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ β PNG ΠΈΠ»ΠΈ JPEG|ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²Π° Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ|ΠΡΠΊΠ»ΡΡΠΈΡΡ "ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²Π΅Π±Π°" Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ PDF (Π΅ΡΠ»ΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ)-->
6. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· 1Π‘. ΠΠΎΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
| ΠΡΠΈΠ±ΠΊΠ° | ΠΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
| ΠΠ°ΡΡΠΈΠ½ΠΊΠ° Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² HTML | ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ MIME-ΡΠΈΠΏ | ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π³Π° <img>. ΠΠ»Ρ Base64 ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ data:image/.... |
| ΠΡΠΊΠ°ΠΆΡΠ½Π½ΡΠ΅ ΡΠ²Π΅ΡΠ° Π² PDF | 1Π‘ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ | Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² RGB (Π½Π΅ CMYK) ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π² Π±Π°Π·Ρ. |
| ΠΡΠΈΠ±ΠΊΠ° "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΡΠΎΠΊΠ°" | ΠΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ | ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² Π±Π°Π·Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΠ°ΠΏΠΈΡΠ°ΡΡ() ΠΈ ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΡΠΎΡΠΈΡΠ°ΡΡ()). |
| ΠΠ΅Π΄Π»Π΅Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ | ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Base64-ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ |
Π‘ΠΎΠΆΠΌΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 800px ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ HTTP-ΡΠ΅ΡΠ²ΠΈΡ. |
ΠΡΡ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² 1Π‘, Π½ΠΎ Π² HTML ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΠΈΠ΄Π½Π° ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ URL ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ:
<img src="image.png?ver=12345">
Π³Π΄Π΅ 12345 β ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Ρ
ΡΡ Π΄Π°Π½Π½ΡΡ
.
ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² Π±Π°Π·Π΅, ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ Π΅Ρ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΡΠ»ΠΈ ΠΠ΅ ΠΠ°ΡΡΠΈΠ½ΠΊΠ°.ΠΡΡΡΠ°Ρ() Π’ΠΎΠ³Π΄Π°..., ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
7. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ 1Π‘
ΠΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π² Π±Π°Π·Ρ 1Π‘ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·Ρ, ΡΡΠΊΠΎΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΡΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°:
- πΉ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
PNGΠ΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ² (Π»ΠΎΠ³ΠΎΡΠΈΠΏΡ, ΡΡ Π΅ΠΌΡ). - πΉ ΠΠ»Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅
JPEGΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ 70-80%. - πΉ Π£ΠΌΠ΅Π½ΡΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΡΡΡΡΠΎΠ² Ρ Π²Π°ΡΠΈΡ 800px ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅).
- πΉ Π£Π΄Π°Π»ΡΠΉΡΠ΅ EXIF-ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ (ΠΎΠ½ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π½Π° 10-30%).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π² 1Π‘:
// Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ JPEG (ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ COM-ΠΎΠ±ΡΠ΅ΠΊΡ)
Π€ΡΠ½ΠΊΡΠΈΡ Π‘ΠΆΠ°ΡΡΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅(ΠΡΡ
ΠΎΠ΄Π½Π°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ°, ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ = 80) ΠΠΊΡΠΏΠΎΡΡ
// ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ImageMagick ΠΈΠ»ΠΈ GDI+)
// ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²Π΅ΡΠ½ΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΡΡ
ΠΎΠ΄Π½Π°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ°;
ΠΠΎΠ½Π΅ΡΠ€ΡΠ½ΠΊΡΠΈΠΈ
// ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ° = ΠΠΎΠ²ΡΠΉ ΠΠ°ΡΡΠΈΠ½ΠΊΠ°(ΠΡΡΡΠΠ€Π°ΠΉΠ»Ρ);
Π‘ΠΆΠ°ΡΠ°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ° = Π‘ΠΆΠ°ΡΡΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅(ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ°, 75);
ΠΠ±ΡΠ΅ΠΊΡ.ΠΠ°ΡΡΠΈΠ½ΠΊΠ° = Π‘ΠΆΠ°ΡΠ°ΡΠΠ°ΡΡΠΈΠ½ΠΊΠ°;
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- πΉ ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ImageMagick ΠΈΠ»ΠΈ GraphicsMagick.
- πΉ COM-ΠΎΠ±ΡΠ΅ΠΊΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
WIA.ImageFileΠ² Windows). - πΉ ΠΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, TinyPNG) ΡΠ΅ΡΠ΅Π· HTTP-Π·Π°ΠΏΡΠΎΡΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΡΠ°Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ 1Π‘ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ ΠΠ’Π‘.
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΈΠ· 1Π‘
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ SVG ΠΈΠ· 1Π‘ Π² HTML?
ΠΠ°, Π½ΠΎ Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ°ΠΌΠΈ. 1Π‘ Π½Π΅ ΡΠΌΠ΅Π΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ SVG ΠΊΠ°ΠΊ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ
SVG-ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ Π² ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ ΡΠΈΠΏΠ°Π‘ΡΡΠΎΠΊΠ°. - ΠΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΡΡΠΌΠΎ Π² HTML ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³
<svg>...</svg>.
ΠΡΠΈΠΌΠ΅Ρ:
HTMLΠ’Π΅ΠΊΡΡ = "<html><body>" + ΠΠ±ΡΠ΅ΠΊΡ.SVGΠΠΎΠ΄ + "</body></html>";
ΠΠΎΡΠ΅ΠΌΡ Π² ΠΎΡΡΡΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π±ΠΈΡΠΎΠΉ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ?
ΠΡΠΎ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ Π² PDF ΡΠ΅ΡΠ΅Π· Π’Π°Π±Π»ΠΈΡΠ½ΡΠΉΠΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΡΠΈΡΠΈΠ½Ρ:
- Π‘Π»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 3000x4000 px).
- ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ DPI ΠΏΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 72 DPI).
Π Π΅ΡΠ΅Π½ΠΈΠ΅: ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 1000-1500 px ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΏΠΎΡΡΠ°:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠΠΊΡΠΏΠΎΡΡΠ° = ΠΠΎΠ²ΡΠΉ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠΠΊΡΠΏΠΎΡΡΠ°Π’Π°Π±Π»ΠΈΡΠ½ΠΎΠ³ΠΎΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠPDF();
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠΠΊΡΠΏΠΎΡΡΠ°.ΠΠ°ΡΠ΅ΡΡΠ²ΠΎΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ = ΠΠ°ΡΠ΅ΡΡΠ²ΠΎΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉPDF.ΠΡΡΠΎΠΊΠΎΠ΅;
ΠΠ°ΠΊ Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· 1Π‘ Π² Telegram-Π±ΠΎΡ?
ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Telegram API:
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» (ΠΊΠ°ΠΊ Π² Π‘ΠΏΠΎΡΠΎΠ±Π΅ β1).
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄
sendPhotoΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Π°:
HTTPΠΠ°ΠΏΡΠΎΡ = ΠΠΎΠ²ΡΠΉ HTTPΠΠ°ΠΏΡΠΎΡ("https://api.telegram.org/botΠ’ΠΠΠΠ/sendPhoto");
HTTPΠΠ°ΠΏΡΠΎΡ.ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.ΠΡΡΠ°Π²ΠΈΡΡ("Content-Type", "multipart/form-data");
HTTPΠΠ°ΠΏΡΠΎΡ.ΠΠΎΠ±Π°Π²ΠΈΡΡΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΠ°ΠΊΠ€Π°ΠΉΠ»("photo", ΠΠΌΡΠ€Π°ΠΉΠ»Π°);
ΠΡΠ²Π΅Ρ = HTTPΠΠ°ΠΏΡΠΎΡ.ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ();
ΠΠ»Ρ Base64 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ photo Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ data://image/png;base64,....
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² ΠΎΡΡΡΡΠ°Ρ 1Π‘?
ΠΠ΅Ρ, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ 1Π‘ (HTML, PDF, ΡΠ°Π±Π»ΠΈΡΠ½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ) Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ:
- ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠΎΡΠΌ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΠΎΠ»Π΅HTMLΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ JavaScript-Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ. - ΠΠ»Ρ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°: Π²ΡΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅
GIFΡΠ΅ΡΠ΅Π·Base64(ΡΠΌ. Π‘ΠΏΠΎΡΠΎΠ± β2). - ΠΠ»Ρ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΠΎΡΠΌ: Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· 1Π‘ Π² Excel?
ΠΠ»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Excel ΡΠ΅ΡΠ΅Π· 1Π‘:
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
COM-ΠΎΠ±ΡΠ΅ΠΊΡExcel.Application:
Excel = ΠΠΎΠ²ΡΠΉ COMΠΠ±ΡΠ΅ΠΊΡ("Excel.Application");
ΠΠ½ΠΈΠ³Π° = Excel.Workbooks.Add();
ΠΠΈΡΡ = ΠΠ½ΠΈΠ³Π°.Worksheets(1);
ΠΠΈΡΡ.Shapes.AddPicture(ΠΠΌΡΠ€Π°ΠΉΠ»Π°, 0, 1, 100, 100, 100, 100); // ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 4 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ
ΠΠ»Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3.20+ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠ°ΠΏΠΈΡΡΠΠ°Π½Π½ΡΡ
XDTO Π΄Π»Ρ ΡΠΊΡΠΏΠΎΡΡΠ° Π² XLSX Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ.