{"id":50527,"date":"2026-04-30T19:28:45","date_gmt":"2026-04-30T19:28:45","guid":{"rendered":"https:\/\/bsolution.me\/he\/?page_id=50527"},"modified":"2026-05-31T20:15:03","modified_gmt":"2026-05-31T20:15:03","slug":"compress-image","status":"publish","type":"page","link":"https:\/\/bsolution.me\/he\/compress-image\/","title":{"rendered":"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f"},"content":{"rendered":"\n\n<style>\n\/* Perfected Futuristic Design System by Bsolution *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Heebo:wght@300;400;500;700;800&display=swap');\n\n:root {\n    --f-bg: #F5F5F7;\n    --f-card: rgba(255, 255, 255, 0.85);\n    --f-text: #1d1d1f;\n    --f-muted: #86868b;\n    --f-accent: #0066cc;\n    --f-border: rgba(0, 0, 0, 0.08);\n    --f-shadow: 0 8px 30px rgba(0,0,0,0.04);\n}\n\n.dark-theme {\n    --f-bg: #000000;\n    --f-card: rgba(28, 28, 30, 0.85);\n    --f-text: #f5f5f7;\n    --f-muted: #86868b;\n    --f-accent: #2997ff;\n    --f-border: rgba(255, 255, 255, 0.12);\n    --f-shadow: 0 8px 40px rgba(0,0,0,0.6);\n}\n\n.futur-layout {\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 60px 20px;\n    font-family: 'Heebo', -apple-system, system-ui, sans-serif;\n    direction: rtl;\n    color: var(--f-text);\n    background-color: transparent;\n    transition: color 0.3s ease;\n}\n\n\/* Global Background override when tool is active *\/\nbody.tool-active {\n    background-color: var(--f-bg) !important;\n}\n\n.futur-glass-card {\n    background: var(--f-card);\n    backdrop-filter: saturate(180%) blur(20px);\n    -webkit-backdrop-filter: saturate(180%) blur(20px);\n    border: 1px solid var(--f-border);\n    border-radius: 22px;\n    padding: 40px;\n    box-shadow: var(--f-shadow);\n    margin-bottom: 40px;\n}\n\n.futur-layout h1.wp-block-heading {\n    font-size: clamp(2.5rem, 5vw, 3.5rem);\n    font-weight: 800;\n    color: var(--f-text);\n    margin-bottom: 12px;\n    letter-spacing: -0.02em;\n    text-align: center;\n}\n\n.futur-layout .tool-card {\n    width: 80%;\n    margin: 0 auto 40px auto;\n}\n@media (max-width: 900px) {\n    .futur-layout .tool-card { width: 100%; }\n}\n\n.futur-layout header {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    text-align: center;\n    gap: 12px;\n    margin-bottom: 34px;\n    max-width: 800px;\n    margin-left: auto;\n    margin-right: auto;\n}\n.futur-layout header h1, \n.futur-layout header h2.main-title,\n.futur-layout header .title-wrap .main-title {\n    margin: 0;\n    font-size: clamp(2rem, 4vw, 2.7rem);\n    font-weight: 800;\n    letter-spacing: -0.02em;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    color: var(--f-text);\n}\n.futur-layout header h2.main-title span.icon { font-size: 1.25em; }\n.futur-layout header .subtitle,\n.futur-layout header p.subtitle {\n    margin: 0;\n    font-size: 1.05rem;\n    color: var(--f-muted);\n    line-height: 1.6;\n}\n.futur-layout header .badge-local,\n.futur-layout header .free-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 0.78rem;\n    padding: 6px 14px;\n    border-radius: 999px;\n    border: 1px solid var(--f-border);\n    background: var(--f-card);\n    color: var(--f-text);\n    box-shadow: 0 4px 10px rgba(0,0,0,0.02);\n}\n.futur-layout header .badge-dot,\n.futur-layout header .free-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 999px;\n    background: #22c55e;\n    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.25);\n}\n\n.futur-layout .page-hook {\n    font-size: 1.25rem;\n    color: var(--f-muted);\n    text-align: center;\n    margin-bottom: 50px;\n    max-width: 700px;\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.futur-layout h2.wp-block-heading {\n    font-size: 1.7rem;\n    font-weight: 700;\n    margin: 40px 0 20px;\n}\n\n.futur-layout p {\n    font-size: 1.15rem;\n    color: var(--f-text);\n    opacity: 0.9;\n    margin-bottom: 24px;\n    line-height: 1.7;\n}\n\n\/* Theme Toggle Button *\/\n.theme-toggle-wrap {\n    display: flex;\n    justify-content: flex-end;\n    margin-bottom: 20px;\n}\n.theme-btn {\n    background: var(--f-card);\n    border: 1px solid var(--f-border);\n    color: var(--f-text);\n    padding: 8px 16px;\n    border-radius: 999px;\n    cursor: pointer;\n    font-size: 0.9rem;\n    font-weight: 600;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    box-shadow: var(--f-shadow);\n}\n\n\/* Input & Button Styles for Tools *\/\n.futur-input {\n    width: 100%;\n    padding: 12px 16px;\n    border-radius: 12px;\n    border: 1px solid var(--f-border);\n    background: rgba(0,0,0,0.03);\n    color: var(--f-text);\n    font-size: 1rem;\n    margin-bottom: 16px;\n    transition: all 0.2s ease;\n}\n.dark-theme .futur-input { background: rgba(255,255,255,0.05); }\n\n.futur-btn {\n    background: var(--f-accent);\n    color: #fff;\n    border: none;\n    padding: 14px 28px;\n    border-radius: 12px;\n    font-weight: 700;\n    font-size: 1.1rem;\n    cursor: pointer;\n    transition: transform 0.2s ease;\n}\n.futur-btn:hover { transform: scale(1.02); }\n\n@media (max-width: 600px) {\n    .futur-layout { padding: 40px 16px; }\n    .futur-glass-card { padding: 24px; }\n}\n<\/style>\n<script>\n(function() {\n    var applyTheme = function(theme) {\n        if (theme === 'dark') {\n            document.documentElement.classList.add('dark-theme');\n        } else {\n            document.documentElement.classList.remove('dark-theme');\n        }\n        localStorage.setItem('bsolution-theme', theme);\n    };\n    \n    \/\/ Apply saved theme immediately\n    document.body.classList.add('tool-active');\n    var saved = localStorage.getItem('bsolution-theme') || 'light';\n    applyTheme(saved);\n    \n    \/\/ Bind theme toggle button (with retry since it may not exist yet)\n    function bindToggle() {\n        var btn = document.getElementById('globalThemeToggle');\n        if (!btn) { setTimeout(bindToggle, 100); return; }\n        if (btn.dataset.bound) return;\n        btn.dataset.bound = '1';\n        btn.addEventListener('click', function() {\n            var isDark = document.documentElement.classList.contains('dark-theme');\n            applyTheme(isDark ? 'light' : 'dark');\n        });\n    }\n    bindToggle();\n})();\n<\/script>\n\n<div class=\"futur-layout\">\n<div class=\"theme-toggle-wrap\"><button class=\"theme-btn\" id=\"globalThemeToggle\">\ud83c\udf19 \u05de\u05e6\u05d1 \u05dc\u05d9\u05dc\u05d4<\/button><\/div>\n\n\n\n<header>\n<h2 class=\"main-title\">\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df <span class=\"icon pill\">\ud83d\uddbc\ufe0f<\/span><\/h2>\n<p class=\"subtitle\">\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.<\/p>\n<div class=\"free-badge\"><span class=\"free-dot\"><\/span> \u05d7\u05d9\u05e0\u05dd \u05dc\u05d7\u05dc\u05d5\u05d8\u05d9\u05df<\/div>\n<\/header>\n\n\n\n<div class=\"futur-glass-card tool-card\">\n<div id=\"bnet-tool-compress-image\">\n<style>\n    #bnet-tool-compress-image {\n      --bg-card: transparent;\n      --text-main: #1e293b;\n      --text-sub: #64748b;\n      --border-color: #e2e8f0;\n      --accent-color: #3b82f6;\n      --accent-hover: #2563eb;\n      --bg-soft: rgba(248, 250, 252, 0.6);\n      --chip-bg: #f1f5f9;\n      --chip-text: #475569;\n      --success: #22c55e;\n      --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n      --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n\n      font-family: 'Heebo', system-ui, -apple-system, sans-serif;\n      direction: rtl;\n      background: transparent;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      width: 100%;\n      margin: 0 auto;\n      box-sizing: border-box;\n      color: var(--text-main);\n    }\n\n    .dark-theme #bnet-tool-compress-image {\n      --bg-card: transparent;\n      --text-main: #f8fafc;\n      --text-sub: #94a3b8;\n      --border-color: rgba(255, 255, 255, 0.1);\n      --accent-color: #60a5fa;\n      --accent-hover: #93c5fd;\n      --bg-soft: rgba(15, 23, 42, 0.4);\n      --chip-bg: #334155;\n      --chip-text: #cbd5e1;\n      --success: #4ade80;\n    }\n\n    #bnet-tool-compress-image * {\n      box-sizing: border-box;\n    }\n\n    #bnet-tool-compress-image .tool-card {\n      background: var(--bg-card);\n      border: 1px solid var(--border-color);\n      border-radius: 16px;\n      padding: 24px;\n      width: 100%;\n      max-width: 800px;\n      box-shadow: var(--shadow-md);\n      display: flex;\n      flex-direction: column;\n      gap: 24px;\n      transition: all 0.3s ease;\n    }\n\n    \/* Upload Area *\/\n    #bnet-tool-compress-image .upload-area {\n      border: 2px dashed var(--border-color);\n      border-radius: 12px;\n      padding: 24px;\n      background: var(--bg-soft);\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      gap: 16px;\n      text-align: center;\n      transition: all 0.2s ease;\n    }\n\n    #bnet-tool-compress-image .upload-area:hover {\n      border-color: var(--accent-color);\n    }\n\n    #bnet-tool-compress-image .btn {\n      border-radius: 999px;\n      padding: 10px 20px;\n      border: none;\n      cursor: pointer;\n      font-size: 1rem;\n      font-family: inherit;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 8px;\n      font-weight: 500;\n      transition: all 0.2s ease;\n    }\n\n    #bnet-tool-compress-image .btn-primary {\n      background: var(--accent-color);\n      color: #ffffff;\n      box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);\n    }\n\n    #bnet-tool-compress-image .btn-primary:hover:not(:disabled) {\n      background: var(--accent-hover);\n      transform: translateY(-1px);\n    }\n\n    #bnet-tool-compress-image .btn-primary:disabled {\n      opacity: 0.6;\n      cursor: not-allowed;\n      box-shadow: none;\n      transform: none;\n    }\n\n    #bnet-tool-compress-image .helper-text {\n      font-size: 0.85rem;\n      color: var(--text-sub);\n      margin: 0;\n    }\n\n    #bnet-tool-compress-image .note-local {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      font-size: 0.85rem;\n      padding: 6px 12px;\n      background: rgba(59, 130, 246, 0.1);\n      color: var(--accent-color);\n      border-radius: 999px;\n      margin-top: 8px;\n    }\n\n    #bnet-tool-compress-image input[type=\"file\"] {\n      display: none;\n    }\n\n    \/* Preview Areas - Vertical Stack *\/\n    #bnet-tool-compress-image .preview-container {\n      display: flex;\n      flex-direction: column;\n      gap: 20px;\n    }\n\n    #bnet-tool-compress-image .preview-pane {\n      background: var(--bg-soft);\n      border-radius: 12px;\n      border: 1px solid var(--border-color);\n      padding: 16px;\n      display: flex;\n      flex-direction: column;\n      gap: 12px;\n    }\n\n    #bnet-tool-compress-image .preview-header {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      flex-wrap: wrap;\n      gap: 8px;\n    }\n\n    #bnet-tool-compress-image .preview-title {\n      font-size: 1rem;\n      font-weight: 600;\n      color: var(--text-main);\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n\n    #bnet-tool-compress-image .chip {\n      font-size: 0.75rem;\n      padding: 4px 10px;\n      border-radius: 999px;\n      background: var(--chip-bg);\n      color: var(--chip-text);\n    }\n\n    #bnet-tool-compress-image .stats {\n      font-size: 0.85rem;\n      color: var(--text-sub);\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px 16px;\n    }\n\n    #bnet-tool-compress-image .stats strong {\n      color: var(--text-main);\n    }\n\n    #bnet-tool-compress-image .preview-box {\n      position: relative;\n      border-radius: 8px;\n      border: 1px solid var(--border-color);\n      background: var(--bg-card);\n      overflow: hidden;\n      min-height: 200px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      cursor: zoom-in;\n    }\n\n    #bnet-tool-compress-image .preview-box img {\n      max-width: 100%;\n      max-height: 300px;\n      display: block;\n      object-fit: contain;\n    }\n\n    #bnet-tool-compress-image .preview-placeholder {\n      text-align: center;\n      color: var(--text-sub);\n      font-size: 0.95rem;\n      padding: 40px 20px;\n    }\n\n    #bnet-tool-compress-image .preview-placeholder .icon {\n      font-size: 2.5rem;\n      margin-bottom: 12px;\n      opacity: 0.5;\n    }\n\n    \/* Controls *\/\n    #bnet-tool-compress-image .controls-group {\n      background: var(--bg-soft);\n      border: 1px solid var(--border-color);\n      border-radius: 12px;\n      padding: 16px;\n      display: flex;\n      flex-direction: column;\n      gap: 16px;\n    }\n\n    #bnet-tool-compress-image .controls-row {\n      display: flex;\n      flex-direction: column;\n      gap: 8px;\n    }\n\n    #bnet-tool-compress-image label {\n      font-size: 0.95rem;\n      font-weight: 500;\n      color: var(--text-main);\n    }\n\n    #bnet-tool-compress-image .range-wrapper {\n      display: flex;\n      align-items: center;\n      gap: 16px;\n    }\n\n    #bnet-tool-compress-image input[type=\"range\"] {\n      flex: 1;\n      accent-color: var(--accent-color);\n      height: 6px;\n      border-radius: 3px;\n      background: var(--border-color);\n      outline: none;\n    }\n\n    #bnet-tool-compress-image .range-value {\n      font-size: 0.9rem;\n      font-weight: 600;\n      min-width: 50px;\n      text-align: center;\n      padding: 4px 10px;\n      border-radius: 999px;\n      background: var(--chip-bg);\n      color: var(--text-main);\n    }\n\n    #bnet-tool-compress-image select {\n      width: 100%;\n      padding: 10px 16px;\n      border: 2px solid var(--border-color);\n      border-radius: 8px;\n      background: var(--bg-card);\n      color: var(--text-main);\n      font-size: 0.95rem;\n      font-family: inherit;\n      transition: border-color 0.2s;\n    }\n\n    #bnet-tool-compress-image select:focus {\n      outline: none;\n      border-color: var(--accent-color);\n    }\n\n    #bnet-tool-compress-image .impact-bar-container {\n      height: 8px;\n      border-radius: 999px;\n      background: var(--border-color);\n      overflow: hidden;\n      width: 100%;\n    }\n\n    #bnet-tool-compress-image .impact-bar-fill {\n      height: 100%;\n      background: var(--success);\n      width: 0%;\n      transition: width 0.3s ease;\n    }\n\n    #bnet-tool-compress-image .impact-text {\n      display: flex;\n      justify-content: space-between;\n      font-size: 0.85rem;\n      color: var(--text-sub);\n      margin-top: 4px;\n    }\n\n    #bnet-tool-compress-image .zoom-lens {\n      position: absolute;\n      width: 120px;\n      height: 120px;\n      border-radius: 50%;\n      border: 2px solid var(--accent-color);\n      box-shadow: 0 4px 12px rgba(0,0,0,0.2);\n      pointer-events: none;\n      opacity: 0;\n      transform: scale(0.9);\n      background-repeat: no-repeat;\n      background-color: var(--bg-card);\n      transition: opacity 0.15s ease-out, transform 0.1s ease-out;\n      z-index: 10;\n    }\n\n    #bnet-tool-compress-image .action-row {\n      display: flex;\n      justify-content: center;\n      margin-top: 8px;\n    }\n\n    #bnet-tool-compress-image .collapsible-btn {\n      background: none;\n      border: none;\n      color: var(--accent-color);\n      font-size: 0.9rem;\n      font-weight: 500;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      gap: 6px;\n      padding: 0;\n      font-family: inherit;\n      transition: color 0.2s;\n    }\n\n    #bnet-tool-compress-image .collapsible-btn:hover {\n      color: var(--accent-hover);\n    }\n\n    #bnet-tool-compress-image .advanced-settings {\n      display: none;\n      margin-top: 16px;\n      padding-top: 16px;\n      border-top: 1px dashed var(--border-color);\n    }\n\n    #bnet-tool-compress-image .advanced-settings.open {\n      display: block;\n    }\n\n    @media (max-width: 600px) {\n      #bnet-tool-compress-image .tool-card {\n        padding: 16px;\n      }\n      #bnet-tool-compress-image .preview-header {\n        flex-direction: column;\n        align-items: flex-start;\n      }\n    }\n  <\/style>\n<div class=\"tool-card\">\n<div class=\"upload-area\">\n<label class=\"btn btn-primary\" for=\"imageInput\">\n<span>\ud83d\udcc1<\/span><span>\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1<\/span>\n<\/label>\n<div class=\"helper-text\" id=\"fileInfo\"><strong>\u05dc\u05d0 \u05e0\u05d1\u05d7\u05e8\u05d4 \u05ea\u05de\u05d5\u05e0\u05d4<\/strong><\/div>\n<p class=\"helper-text\">\u05ea\u05d5\u05de\u05da \u05d1\u05e7\u05d1\u05e6\u05d9 <strong>JPG, PNG, WebP<\/strong> \u05d5\u05e2\u05d3 ~25MB \u05dc\u05ea\u05de\u05d5\u05e0\u05d4.<\/p>\n<div class=\"note-local\">\n<span>\ud83d\udd12<\/span><span>\u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05dc\u05d0 \u05e0\u05e9\u05dc\u05d7\u05ea \u05dc\u05e9\u05e8\u05ea \u2013 \u05d4\u05db\u05dc \u05e0\u05e9\u05d0\u05e8 \u05d1\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc\u05da \u05d1\u05dc\u05d1\u05d3.<\/span>\n<\/div>\n<input accept=\"image\/jpeg, image\/png, image\/webp\" id=\"imageInput\" type=\"file\"\/>\n<\/div>\n<div class=\"preview-container\" id=\"workspaceArea\" style=\"display: none;\">\n<div class=\"preview-pane\">\n<div class=\"preview-header\">\n<div class=\"preview-title\"><span>\u05de\u05e7\u05d5\u05e8<\/span><span class=\"chip\">\u05dc\u05e4\u05e0\u05d9 \u05d3\u05d7\u05d9\u05e1\u05d4<\/span><\/div>\n<div class=\"stats\" id=\"originalStats\">\n<span>\u05d2\u05d5\u05d3\u05dc: <strong>\u2014<\/strong><\/span>\n<span>\u05e8\u05d6\u05d5\u05dc\u05d5\u05e6\u05d9\u05d4: <strong>\u2014<\/strong><\/span>\n<span>\u05e4\u05d5\u05e8\u05de\u05d8: <strong>\u2014<\/strong><\/span>\n<\/div>\n<\/div>\n<div class=\"preview-box\" id=\"originalPreview\">\n<div class=\"zoom-lens\" id=\"originalLens\"><\/div>\n<img decoding=\"async\" alt=\"\u05de\u05e7\u05d5\u05e8\" id=\"originalImgEl\" src=\"\" style=\"display:none;\"\/>\n<\/div>\n<\/div>\n<div class=\"controls-group\">\n<div class=\"controls-row\">\n<label for=\"qualityRange\">\u05e8\u05de\u05ea \u05d0\u05d9\u05db\u05d5\u05ea<\/label>\n<div class=\"range-wrapper\">\n<input id=\"qualityRange\" max=\"100\" min=\"10\" step=\"1\" type=\"range\" value=\"80\"\/>\n<div class=\"range-value\" id=\"qualityLabel\">80%<\/div>\n<\/div>\n<div class=\"impact-bar-container\" style=\"margin-top: 8px;\">\n<div class=\"impact-bar-fill\" id=\"impactFill\"><\/div>\n<\/div>\n<div class=\"impact-text\">\n<span>\u05d7\u05d9\u05e1\u05db\u05d5\u05df \u05d1\u05de\u05e9\u05e7\u05dc: <strong id=\"savingPercentLabel\" style=\"color: var(--success);\">\u2014<\/strong><\/span>\n<span>\u05d0\u05d9\u05db\u05d5\u05ea \u05d7\u05d6\u05d5\u05ea\u05d9\u05ea: <strong id=\"visualQualityLabel\">\u2014<\/strong><\/span>\n<\/div>\n<\/div>\n<button class=\"collapsible-btn\" id=\"toggleAdvanced\" type=\"button\">\n<span>\u2699\ufe0f \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05de\u05ea\u05e7\u05d3\u05de\u05d5\u05ea<\/span>\n<\/button>\n<div class=\"advanced-settings\" id=\"advancedSettings\">\n<div class=\"controls-row\">\n<label for=\"formatSelect\">\u05e4\u05d5\u05e8\u05de\u05d8 \u05d4\u05de\u05e8\u05d4<\/label>\n<select id=\"formatSelect\">\n<option value=\"auto\">\u05dc\u05e4\u05d9 \u05d4\u05de\u05e7\u05d5\u05e8 (\u05de\u05d5\u05de\u05dc\u05e5)<\/option>\n<option value=\"webp\">WebP (\u05d7\u05e1\u05db\u05d5\u05e0\u05d9 \u05d1\u05de\u05d9\u05d5\u05d7\u05d3)<\/option>\n<option value=\"jpeg\">JPEG<\/option>\n<option value=\"png\">PNG<\/option>\n<\/select>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"preview-pane\">\n<div class=\"preview-header\">\n<div class=\"preview-title\"><span>\u05ea\u05d5\u05e6\u05d0\u05d4<\/span><span class=\"chip\">\u05d0\u05d7\u05e8\u05d9 \u05d3\u05d7\u05d9\u05e1\u05d4<\/span><\/div>\n<div class=\"stats\" id=\"compressedStats\">\n<span>\u05d2\u05d5\u05d3\u05dc \u05d7\u05d3\u05e9: <strong>\u2014<\/strong><\/span>\n<span>\u05d7\u05d9\u05e1\u05db\u05d5\u05df: <strong>\u2014<\/strong><\/span>\n<span>\u05e4\u05d5\u05e8\u05de\u05d8: <strong>\u2014<\/strong><\/span>\n<\/div>\n<\/div>\n<div class=\"preview-box\" id=\"compressedPreview\">\n<div class=\"zoom-lens\" id=\"compressedLens\"><\/div>\n<img decoding=\"async\" alt=\"\u05ea\u05d5\u05e6\u05d0\u05d4\" id=\"compressedImgEl\" src=\"\" style=\"display:none;\"\/>\n<div class=\"preview-placeholder\" id=\"compressedLoading\" style=\"display:none;\">\n<div class=\"icon\">\u23f3<\/div>\n<div>\u05de\u05e2\u05d1\u05d3 \u05ea\u05de\u05d5\u05e0\u05d4&#8230;<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"action-row\">\n<button class=\"btn btn-primary\" id=\"downloadBtn\" style=\"width: 100%; padding: 14px; font-size: 1.1rem;\" type=\"button\">\n<span>\u2b07\ufe0f<\/span><span>\u05d4\u05d5\u05e8\u05d3 \u05ea\u05de\u05d5\u05e0\u05d4 \u05d3\u05d7\u05d5\u05e1\u05d4<\/span>\n<\/button>\n<\/div>\n<\/div>\n<\/div>\n<canvas id=\"hiddenCanvas\" style=\"display:none;\"><\/canvas>\n<script>\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const container = document.getElementById(\"bnet-tool-compress-image\");\n      if (!container) return;\n\n      const imageInput = container.querySelector('#imageInput');\n      const fileInfo = container.querySelector('#fileInfo');\n      const workspaceArea = container.querySelector('#workspaceArea');\n      \n      const originalImgEl = container.querySelector('#originalImgEl');\n      const compressedImgEl = container.querySelector('#compressedImgEl');\n      const originalPreview = container.querySelector('#originalPreview');\n      const compressedPreview = container.querySelector('#compressedPreview');\n      \n      const originalStats = container.querySelector('#originalStats');\n      const compressedStats = container.querySelector('#compressedStats');\n      \n      const qualityRange = container.querySelector('#qualityRange');\n      const qualityLabel = container.querySelector('#qualityLabel');\n      const formatSelect = container.querySelector('#formatSelect');\n      const downloadBtn = container.querySelector('#downloadBtn');\n      \n      const impactFill = container.querySelector('#impactFill');\n      const savingPercentLabel = container.querySelector('#savingPercentLabel');\n      const visualQualityLabel = container.querySelector('#visualQualityLabel');\n      const hiddenCanvas = container.querySelector('#hiddenCanvas');\n      \n      const originalLens = container.querySelector('#originalLens');\n      const compressedLens = container.querySelector('#compressedLens');\n      const toggleAdvanced = container.querySelector('#toggleAdvanced');\n      const advancedSettings = container.querySelector('#advancedSettings');\n      const compressedLoading = container.querySelector('#compressedLoading');\n\n      let originalFile = null;\n      let originalImageObj = null;\n      let compressedDataURL = null;\n      let compressedBlobSize = 0;\n      let compressionTimeout = null;\n\n      toggleAdvanced.addEventListener('click', () => {\n        advancedSettings.classList.toggle('open');\n      });\n\n      function formatBytes(bytes) {\n        if (!bytes && bytes !== 0) return '\u2014';\n        const sizes = ['B', 'KB', 'MB', 'GB'];\n        if (bytes === 0) return '0 B';\n        const i = Math.floor(Math.log(bytes) \/ Math.log(1024));\n        const value = bytes \/ Math.pow(1024, i);\n        return value.toFixed(value >= 10 ? 1 : 2) + ' ' + sizes[i];\n      }\n\n      function getExtensionFromMime(mime) {\n        if (!mime) return 'jpg';\n        if (mime.includes('png')) return 'png';\n        if (mime.includes('webp')) return 'webp';\n        return 'jpg';\n      }\n\n      function getMimeFromFormat(format, fallbackMime) {\n        if (format === 'jpeg') return 'image\/jpeg';\n        if (format === 'png') return 'image\/png';\n        if (format === 'webp') return 'image\/webp';\n        if (format === 'auto') {\n          if (fallbackMime === 'image\/png') return 'image\/png';\n          if (fallbackMime === 'image\/webp') return 'image\/webp';\n          return 'image\/jpeg';\n        }\n        return 'image\/jpeg';\n      }\n\n      function mimeToLabel(mime) {\n        if (!mime) return '\u2014';\n        if (mime.includes('png')) return 'PNG';\n        if (mime.includes('webp')) return 'WebP';\n        return 'JPEG';\n      }\n\n      function updateVisualQualityLabel(q) {\n        if (q >= 85) visualQualityLabel.textContent = '\u05d2\u05d1\u05d5\u05d4\u05d4 \u05de\u05d0\u05d5\u05d3';\n        else if (q >= 70) visualQualityLabel.textContent = '\u05d2\u05d1\u05d5\u05d4\u05d4';\n        else if (q >= 50) visualQualityLabel.textContent = '\u05d1\u05d9\u05e0\u05d5\u05e0\u05d9\u05ea';\n        else visualQualityLabel.textContent = '\u05e0\u05de\u05d5\u05db\u05d4';\n      }\n\n      function attachZoom(previewBox, lens, imgEl) {\n        const zoom = 2;\n        previewBox.onmousemove = function(e) {\n          if (imgEl.style.display === 'none') return;\n          const rect = imgEl.getBoundingClientRect();\n          const boxRect = previewBox.getBoundingClientRect();\n          let x = e.clientX - rect.left;\n          let y = e.clientY - rect.top;\n\n          if (x < 0 || y < 0 || x > rect.width || y > rect.height) {\n            lens.style.opacity = '0';\n            return;\n          }\n          \n          lens.style.backgroundImage = `url(${imgEl.src})`;\n          \n          const lensWidth = lens.offsetWidth;\n          const lensHeight = lens.offsetHeight;\n          const lensX = e.clientX - boxRect.left - lensWidth \/ 2;\n          const lensY = e.clientY - boxRect.top - lensHeight \/ 2;\n          \n          lens.style.left = lensX + 'px';\n          lens.style.top = lensY + 'px';\n          lens.style.opacity = '1';\n          lens.style.transform = 'scale(1)';\n\n          const bgW = rect.width * zoom;\n          const bgH = rect.height * zoom;\n          lens.style.backgroundSize = `${bgW}px ${bgH}px`;\n          const bgX = -(x * zoom - lensWidth \/ 2);\n          const bgY = -(y * zoom - lensHeight \/ 2);\n          lens.style.backgroundPosition = `${bgX}px ${bgY}px`;\n        };\n        previewBox.onmouseleave = function() {\n          lens.style.opacity = '0';\n          lens.style.transform = 'scale(0.9)';\n        };\n      }\n\n      async function updatePreview() {\n        if (!originalImageObj || !originalFile) return;\n        \n        compressedImgEl.style.display = 'none';\n        compressedLoading.style.display = 'block';\n        downloadBtn.disabled = true;\n\n        setTimeout(async () => {\n          const ctx = hiddenCanvas.getContext('2d');\n          const width = originalImageObj.naturalWidth || originalImageObj.width;\n          const height = originalImageObj.naturalHeight || originalImageObj.height;\n          \n          hiddenCanvas.width = width;\n          hiddenCanvas.height = height;\n          ctx.clearRect(0, 0, width, height);\n          ctx.drawImage(originalImageObj, 0, 0, width, height);\n          \n          const quality = Number(qualityRange.value);\n          const qualityFloat = Math.max(0.1, Math.min(1, quality \/ 100));\n          const targetMime = getMimeFromFormat(formatSelect.value, originalFile.type);\n          \n          try {\n            compressedDataURL = hiddenCanvas.toDataURL(targetMime, targetMime === 'image\/png' ? 1 : qualityFloat);\n          } catch (e) {\n            compressedDataURL = hiddenCanvas.toDataURL('image\/jpeg', qualityFloat);\n          }\n          \n          compressedImgEl.src = compressedDataURL;\n          compressedImgEl.style.display = 'block';\n          compressedLoading.style.display = 'none';\n\n          qualityLabel.textContent = quality + '%';\n          updateVisualQualityLabel(quality);\n\n          try {\n            const res = await fetch(compressedDataURL);\n            const blob = await res.blob();\n            compressedBlobSize = blob.size;\n          } catch (err) {\n            const base64Length = compressedDataURL.split(',')[1]?.length || 0;\n            compressedBlobSize = Math.round(base64Length * (3 \/ 4));\n          }\n\n          const saving = originalFile.size && compressedBlobSize\n            ? Math.max(0, ((originalFile.size - compressedBlobSize) \/ originalFile.size) * 100)\n            : 0;\n            \n          savingPercentLabel.textContent = originalFile.size && compressedBlobSize ? saving.toFixed(1) + '%' : '\u2014';\n          \n          const barWidth = Math.min(100, Math.max(0, saving));\n          impactFill.style.width = barWidth + '%';\n          \n          if (saving < 10) impactFill.style.background = '#facc15';\n          else if (saving > 50) impactFill.style.background = '#4ade80';\n          else impactFill.style.background = '#22c55e';\n\n          compressedStats.innerHTML = `\n            <span>\u05d2\u05d5\u05d3\u05dc \u05d7\u05d3\u05e9: <strong>${formatBytes(compressedBlobSize)}<\/strong><\/span>\n            <span>\u05d7\u05d9\u05e1\u05db\u05d5\u05df: <strong>${originalFile.size ? saving.toFixed(1) + '%' : '\u2014'}<\/strong><\/span>\n            <span>\u05e4\u05d5\u05e8\u05de\u05d8: <strong>${mimeToLabel(targetMime)}<\/strong><\/span>\n          `;\n          \n          downloadBtn.disabled = !compressedDataURL;\n          \n          attachZoom(compressedPreview, compressedLens, compressedImgEl);\n        }, 50);\n      }\n\n      imageInput.addEventListener('change', () => {\n        const file = imageInput.files && imageInput.files[0];\n        if (!file) return;\n\n        originalFile = file;\n        fileInfo.innerHTML = `<strong>${file.name}<\/strong> (${formatBytes(file.size)})`;\n        \n        const reader = new FileReader();\n        reader.onload = e => {\n          const img = new Image();\n          img.onload = () => {\n            originalImageObj = img;\n            workspaceArea.style.display = 'flex';\n            \n            originalImgEl.src = e.target.result;\n            originalImgEl.style.display = 'block';\n\n            const width = img.naturalWidth || img.width;\n            const height = img.naturalHeight || img.height;\n            \n            originalStats.innerHTML = `\n              <span>\u05d2\u05d5\u05d3\u05dc: <strong>${formatBytes(file.size)}<\/strong><\/span>\n              <span>\u05e8\u05d6\u05d5\u05dc\u05d5\u05e6\u05d9\u05d4: <strong>${width}\u00d7${height}<\/strong><\/span>\n              <span>\u05e4\u05d5\u05e8\u05de\u05d8: <strong>${mimeToLabel(file.type)}<\/strong><\/span>\n            `;\n            \n            qualityRange.value = 80;\n            formatSelect.value = 'auto';\n            \n            attachZoom(originalPreview, originalLens, originalImgEl);\n            \n            updatePreview();\n          };\n          img.src = e.target.result;\n        };\n        reader.readAsDataURL(file);\n      });\n\n      qualityRange.addEventListener('input', () => {\n        qualityLabel.textContent = qualityRange.value + '%';\n        updateVisualQualityLabel(Number(qualityRange.value));\n        \n        clearTimeout(compressionTimeout);\n        compressionTimeout = setTimeout(() => {\n          if (originalImageObj) updatePreview();\n        }, 200);\n      });\n\n      formatSelect.addEventListener('change', () => {\n        if (originalImageObj) updatePreview();\n      });\n\n      downloadBtn.addEventListener('click', () => {\n        if (!compressedDataURL || !originalFile) return;\n        const targetMime = getMimeFromFormat(formatSelect.value, originalFile.type);\n        const baseName = originalFile.name.replace(\/\\.[^.]+$\/, '');\n        const ext = getExtensionFromMime(targetMime);\n        const a = document.createElement('a');\n        a.href = compressedDataURL;\n        a.download = baseName + '-compressed.' + ext;\n        document.body.appendChild(a);\n        a.click();\n        document.body.removeChild(a);\n      });\n    });\n  <\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"futur-glass-card seo-card\">\n\n\n\n<h1 class=\"wp-block-heading\">\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df &#8211; \u05d4\u05de\u05d3\u05e8\u05d9\u05da \u05d4\u05de\u05dc\u05d0<\/h1>\n\n\n\n<p>\u05db\u05e9\u05d1\u05d5\u05e0\u05d9\u05dd \u05d0\u05ea\u05e8, \u05d3\u05e4\u05d9 \u05e0\u05d7\u05d9\u05ea\u05d4 \u05d0\u05d5 \u05e7\u05de\u05e4\u05d9\u05d9\u05e0\u05d9\u05dd \u05de\u05de\u05d5\u05de\u05e0\u05d9\u05dd, \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d4\u05df \u05de\u05d4 \u05e9\u05de\u05d5\u05e9\u05da \u05d0\u05ea \u05d4\u05e2\u05d9\u05df \u2013 \u05d0\u05d1\u05dc \u05d4\u05df \u05d2\u05dd \u05de\u05d4 \u05e9\u05de\u05d0\u05d8 \u05d0\u05ea \u05d4\u05d0\u05ea\u05e8.\n      <strong>\u05d4\u05e7\u05d8\u05e0\u05ea \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea<\/strong> \u05d1\u05dc\u05d9 \u05dc\u05e4\u05d2\u05d5\u05e2 \u05de\u05e9\u05de\u05e2\u05d5\u05ea\u05d9\u05ea \u05d1\u05d0\u05d9\u05db\u05d5\u05ea \u05de\u05d0\u05e4\u05e9\u05e8\u05ea \u05d8\u05e2\u05d9\u05e0\u05d4 \u05de\u05d4\u05d9\u05e8\u05d4 \u05d9\u05d5\u05ea\u05e8, \u05d7\u05d5\u05d5\u05d9\u05d9\u05ea \u05de\u05e9\u05ea\u05de\u05e9 \u05d8\u05d5\u05d1\u05d4 \u05d9\u05d5\u05ea\u05e8\n      \u05d5\u05e9\u05d9\u05e4\u05d5\u05e8 \u05d1\u05d3\u05d9\u05e8\u05d5\u05d2\u05d9\u05dd \u05d1\u05de\u05e0\u05d5\u05e2\u05d9 \u05d7\u05d9\u05e4\u05d5\u05e9 \u05db\u05de\u05d5 \u05d2\u05d5\u05d2\u05dc. \u05db\u05d3\u05d9 \u05dc\u05e7\u05d1\u05dc \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05dc\u05d0\u05d4 \u05e2\u05dc \u05d0\u05d5\u05e4\u05d8\u05d9\u05de\u05d9\u05d6\u05e6\u05d9\u05d4, \u05db\u05d3\u05d0\u05d9 \u05dc\u05e9\u05dc\u05d1 \u05d0\u05ea \u05d4\u05db\u05dc\u05d9 \u05d4\u05d6\u05d4 \u05e2\u05dd <a href=\"\/he\/image-resize\/\">\u05db\u05dc\u05d9 \u05dc\u05e9\u05d9\u05e0\u05d5\u05d9 \u05d2\u05d5\u05d3\u05dc \u05ea\u05de\u05d5\u05e0\u05d4<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d0\u05d9\u05da \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05dc\u05d9?<\/h2>\n\n\n\n<p>\u05d4\u05db\u05dc\u05d9 \u05e9\u05dc\u05e0\u05d5 \u05e0\u05d5\u05e2\u05d3 \u05dc\u05d4\u05d9\u05d5\u05ea \u05e4\u05e9\u05d5\u05d8 \u05d5\u05d0\u05d9\u05e0\u05d8\u05d5\u05d0\u05d9\u05d8\u05d9\u05d1\u05d9. \u05db\u05dc \u05e9\u05e2\u05dc\u05d9\u05db\u05dd \u05dc\u05e2\u05e9\u05d5\u05ea \u05d4\u05d5\u05d0 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05ea\u05de\u05d5\u05e0\u05d4, \u05dc\u05d1\u05d7\u05d5\u05e8 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d3\u05d7\u05d9\u05e1\u05d4 (\u05d4\u05d0\u05d9\u05db\u05d5\u05ea) \u05d5\u05dc\u05dc\u05d7\u05d5\u05e5 \u05e2\u05dc \u05d4\u05d5\u05e8\u05d3\u05d4.\n      \u05e0\u05d9\u05ea\u05df \u05d2\u05dd \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05d4\u05de\u05ea\u05e7\u05d3\u05de\u05d5\u05ea \u05db\u05d3\u05d9 \u05dc\u05d1\u05d7\u05d5\u05e8 \u05d4\u05de\u05e8\u05d4 \u05dc\u05e4\u05d5\u05e8\u05de\u05d8 WebP \u05d4\u05d7\u05e1\u05db\u05d5\u05e0\u05d9 \u05d1\u05de\u05d9\u05d5\u05d7\u05d3 \u05d0\u05d5 \u05dc\u05d1\u05d7\u05d5\u05e8 \u05d1\u05e4\u05d5\u05e8\u05de\u05d8\u05d9\u05dd \u05d0\u05d7\u05e8\u05d9\u05dd \u05db\u05de\u05d5 JPEG \u05d5-PNG.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05dc\u05de\u05d4 \u05d7\u05e9\u05d5\u05d1 \u05dc\u05d1\u05e6\u05e2 \u05d0\u05d5\u05e4\u05d8\u05d9\u05de\u05d9\u05d6\u05e6\u05d9\u05d4 \u05dc\u05ea\u05de\u05d5\u05e0\u05d5\u05ea?<\/h3>\n\n\n\n<p>\u05de\u05e9\u05e7\u05dc \u05e7\u05d1\u05e6\u05d9\u05dd \u05d2\u05d3\u05d5\u05dc \u05d2\u05d5\u05e8\u05dd \u05dc\u05d6\u05de\u05e0\u05d9 \u05d8\u05e2\u05d9\u05e0\u05d4 \u05d0\u05d9\u05d8\u05d9\u05d9\u05dd, \u05e9\u05d1\u05ea\u05d5\u05e8\u05dd \u05de\u05e2\u05dc\u05d9\u05dd \u05d0\u05ea \u05e9\u05d9\u05e2\u05d5\u05e8\u05d9 \u05d4\u05e0\u05d8\u05d9\u05e9\u05d4 \u05d5\u05e4\u05d5\u05d2\u05e2\u05d9\u05dd \u05d1\u05d3\u05d9\u05e8\u05d5\u05d2 \u05d4\u05d0\u05ea\u05e8 \u05e9\u05dc\u05db\u05dd. \u05d1\u05e0\u05d5\u05e1\u05e3, \u05e2\u05dc\u05d5\u05d9\u05d5\u05ea \u05d0\u05d7\u05e1\u05d5\u05df\n      \u05d5\u05ea\u05e2\u05d1\u05d5\u05e8\u05ea \u05e8\u05e9\u05ea \u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05dc\u05d4\u05d0\u05de\u05d9\u05e8 \u05db\u05db\u05dc \u05e9\u05d9\u05e9 \u05d9\u05d5\u05ea\u05e8 \u05e7\u05d1\u05e6\u05d9\u05dd \u05db\u05d1\u05d3\u05d9\u05dd. \u05d1\u05e2\u05d6\u05e8\u05ea <a href=\"\/he\/seo-tools\/\">\u05db\u05dc\u05d9\u05dd \u05dc\u05e7\u05d9\u05d3\u05d5\u05dd \u05d0\u05ea\u05e8\u05d9\u05dd<\/a> \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd \u05ea\u05d5\u05db\u05dc\u05d5 \u05dc\u05d5\u05d5\u05d3\u05d0\n      \u05e9\u05d4\u05d0\u05ea\u05e8 \u05e9\u05dc\u05db\u05dd \u05e2\u05e8\u05d5\u05da \u05d1\u05e6\u05d5\u05e8\u05d4 \u05d4\u05d0\u05d5\u05e4\u05d8\u05d9\u05de\u05dc\u05d9\u05ea \u05d1\u05d9\u05d5\u05ea\u05e8 \u05dc\u05d2\u05d5\u05d2\u05dc \u05d5\u05dc\u05d2\u05d5\u05dc\u05e9\u05d9\u05dd.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05d9\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05d4\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05de\u05e7\u05d8\u05d9\u05df \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc\u05e0\u05d5<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u05e4\u05e8\u05d8\u05d9\u05d5\u05ea \u05de\u05dc\u05d0\u05d4:<\/strong> \u05db\u05dc \u05ea\u05d4\u05dc\u05d9\u05da \u05d3\u05d7\u05d9\u05e1\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05ea\u05d1\u05e6\u05e2 \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05d1\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc\u05db\u05dd (Local Processing). \u05e9\u05d5\u05dd \u05ea\u05de\u05d5\u05e0\u05d4 \u05dc\u05d0 \u05e0\u05e9\u05dc\u05d7\u05ea \u05d0\u05d5 \u05e0\u05e9\u05de\u05e8\u05ea \u05d1\u05e9\u05e8\u05ea\u05d9\u05dd \u05e9\u05dc\u05e0\u05d5.<\/li>\n\n<li><strong>\u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d1\u05d6\u05de\u05df \u05d0\u05de\u05ea:<\/strong> \u05e8\u05d0\u05d5 \u05de\u05d9\u05d3 \u05d0\u05d9\u05da \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05ea\u05d9\u05e8\u05d0\u05d4 \u05d0\u05d7\u05e8\u05d9 \u05d4\u05d3\u05d7\u05d9\u05e1\u05d4, \u05d4\u05e9\u05ea\u05de\u05e9\u05d5 \u05d1\u05d6\u05db\u05d5\u05db\u05d9\u05ea \u05d4\u05de\u05d2\u05d3\u05dc\u05ea \u05db\u05d3\u05d9 \u05dc\u05d1\u05d7\u05d5\u05df \u05d0\u05d6\u05d5\u05e8\u05d9\u05dd \u05e1\u05e4\u05e6\u05d9\u05e4\u05d9\u05d9\u05dd \u05d5\u05e7\u05d1\u05dc\u05d5 \u05d4\u05d7\u05dc\u05d8\u05d4 \u05de\u05d3\u05d5\u05d9\u05e7\u05ea.<\/li>\n\n<li><strong>\u05ea\u05de\u05d9\u05db\u05d4 \u05e0\u05e8\u05d7\u05d1\u05ea:<\/strong> \u05d3\u05d7\u05d9\u05e1\u05d4 \u05e9\u05dc \u05e4\u05d5\u05e8\u05de\u05d8\u05d9\u05dd \u05e4\u05d5\u05e4\u05d5\u05dc\u05e8\u05d9\u05d9\u05dd \u05db\u05de\u05d5 JPEG, PNG \u05d5\u05d0\u05e4\u05d9\u05dc\u05d5 \u05d4\u05de\u05e8\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc-WebP, \u05d4\u05e4\u05d5\u05e8\u05de\u05d8 \u05d4\u05de\u05d5\u05de\u05dc\u05e5 \u05dc\u05d2\u05dc\u05d9\u05e9\u05d4 \u05d1\u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u05d4\u05d1\u05d4\u05e8\u05d4:<\/strong> \u05d4\u05de\u05d9\u05d3\u05e2 \u05d4\u05de\u05d5\u05e6\u05d2 \u05d5\u05d4\u05e9\u05d9\u05e8\u05d5\u05ea\u05d9\u05dd \u05e0\u05d9\u05ea\u05e0\u05d9\u05dd &quot;\u05db\u05de\u05d5\u05ea \u05e9\u05d4\u05dd&quot; (As Is). \u05d9\u05e9 \u05dc\u05d5\u05d5\u05d3\u05d0 \u05e9\u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u05e2\u05d5\u05e0\u05d4 \u05e2\u05dc \u05e6\u05e8\u05db\u05d9 \u05d4\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8 \u05e9\u05dc\u05db\u05dd \u05d1\u05d8\u05e8\u05dd \u05d4\u05e9\u05d9\u05de\u05d5\u05e9 \u05d4\u05e1\u05d5\u05e4\u05d9.<\/p>\n\n\n\n<\/div>\n\n\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_yoast_wpseo_metadesc":"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.","tool_emoji":"\ud83d\uddbc","tool_category":"\u05db\u05dc\u05d9\u05dd \u05dc\u05d1\u05d5\u05e0\u05d9 \u05d0\u05ea\u05e8\u05d9\u05dd","tool_featured":"yes","footnotes":""},"class_list":["post-50527","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd<\/title>\n<meta name=\"description\" content=\"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bsolution.me\/he\/compress-image\/\" \/>\n<meta property=\"og:locale\" content=\"he_IL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd\" \/>\n<meta property=\"og:description\" content=\"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bsolution.me\/he\/compress-image\/\" \/>\n<meta property=\"og:site_name\" content=\"\u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-31T20:15:03+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u05d3\u05e7\u05d5\u05ea\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bsolution.me\\\/he\\\/compress-image\\\/\",\"url\":\"https:\\\/\\\/bsolution.me\\\/he\\\/compress-image\\\/\",\"name\":\"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bsolution.me\\\/he\\\/#website\"},\"datePublished\":\"2026-04-30T19:28:45+00:00\",\"dateModified\":\"2026-05-31T20:15:03+00:00\",\"description\":\"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bsolution.me\\\/he\\\/compress-image\\\/#breadcrumb\"},\"inLanguage\":\"he-IL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bsolution.me\\\/he\\\/compress-image\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bsolution.me\\\/he\\\/compress-image\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bsolution.me\\\/he\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bsolution.me\\\/he\\\/#website\",\"url\":\"https:\\\/\\\/bsolution.me\\\/he\\\/\",\"name\":\"\u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd\",\"description\":\"\u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05d5\u05ea \u05e9\u05d9\u05d5\u05d5\u05e7, \u05de\u05d7\u05e9\u05d1\u05d5\u05e0\u05d9\u05dd, \u05de\u05d7\u05d5\u05dc\u05dc\u05d9 \u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bsolution.me\\\/he\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"he-IL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd","description":"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.","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:\/\/bsolution.me\/he\/compress-image\/","og_locale":"he_IL","og_type":"article","og_title":"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd","og_description":"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.","og_url":"https:\/\/bsolution.me\/he\/compress-image\/","og_site_name":"\u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd","article_modified_time":"2026-05-31T20:15:03+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da":"3 \u05d3\u05e7\u05d5\u05ea"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bsolution.me\/he\/compress-image\/","url":"https:\/\/bsolution.me\/he\/compress-image\/","name":"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f - \u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd","isPartOf":{"@id":"https:\/\/bsolution.me\/he\/#website"},"datePublished":"2026-04-30T19:28:45+00:00","dateModified":"2026-05-31T20:15:03+00:00","description":"\u05d1\u05d7\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d4\u05de\u05d7\u05e9\u05d1, \u05e7\u05d1\u05e2 \u05d0\u05ea \u05e8\u05de\u05ea \u05d4\u05d0\u05d9\u05db\u05d5\u05ea, \u05e8\u05d0\u05d4 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4 \u05d5\u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05d2\u05e8\u05e1\u05d4 \u05d4\u05d3\u05d7\u05d5\u05e1\u05d4 \u2013 \u05d1\u05dc\u05d9 \u05dc\u05d4\u05e2\u05dc\u05d5\u05ea \u05e9\u05d5\u05dd \u05d3\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea.","breadcrumb":{"@id":"https:\/\/bsolution.me\/he\/compress-image\/#breadcrumb"},"inLanguage":"he-IL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bsolution.me\/he\/compress-image\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bsolution.me\/he\/compress-image\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bsolution.me\/he\/"},{"@type":"ListItem","position":2,"name":"\u05de\u05e7\u05d8\u05d9\u05df \u05de\u05e9\u05e7\u05dc \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df\ud83d\uddbc\ufe0f"}]},{"@type":"WebSite","@id":"https:\/\/bsolution.me\/he\/#website","url":"https:\/\/bsolution.me\/he\/","name":"\u05db\u05dc\u05d9\u05dd \u05d1\u05d7\u05d9\u05e0\u05dd \u05dc\u05e2\u05e1\u05e7\u05d9\u05dd","description":"\u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05d5\u05ea \u05e9\u05d9\u05d5\u05d5\u05e7, \u05de\u05d7\u05e9\u05d1\u05d5\u05e0\u05d9\u05dd, \u05de\u05d7\u05d5\u05dc\u05dc\u05d9 \u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bsolution.me\/he\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"he-IL"}]}},"_links":{"self":[{"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/pages\/50527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/comments?post=50527"}],"version-history":[{"count":1,"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/pages\/50527\/revisions"}],"predecessor-version":[{"id":50528,"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/pages\/50527\/revisions\/50528"}],"wp:attachment":[{"href":"https:\/\/bsolution.me\/he\/wp-json\/wp\/v2\/media?parent=50527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}