قدّر توفير ضغط TIFF باستخدام LZW أو ZIP
تحوّل حاسبة ضغط TIFF هذه حجم الصورة غير المضغوطة إلى نطاق عملي عند استخدام LZW أو ZIP أو عدم الضغط.
شغّل الأداة مجانًا
وتعرض حجم الناتج التقديري إلى جانب مقدار التوفير المرجح بالميغابايت والنسبة المئوية. الحساب حتمي وفوري، ولذلك يفيد في تقدير التخزين أو النقل قبل ترميز دفعة من الملفات. ولأن ضغط TIFF يتأثر بدرجة كبيرة بمحتوى وحدات البكسل، تُعرض النتيجة كنطاق معتاد للتخطيط، لا كضمان للحجم النهائي.
ابدأ بالحجم الحقيقي لملف TIFF غير المضغوط
أدخل بالميغابايت المساحة التي سيشغلها ملف TIFF من دون ضغط. فهذا هو خط الأساس الصحيح لأنه يمثل بيانات وحدات البكسل وبنية TIFF قبل أن يقلل LZW أو ZIP المعلومات المتكررة. إذا لم يكن لديك سوى ملف مضغوط مسبقًا، فلا يُعد حجمه الحالي بديلًا موثوقًا؛ إذ يؤدي تطبيق نسبة أخرى عليه غالبًا إلى تقدير أصغر من الواقع. ولصورة لم تُنشأ بعد، احسب الأساس من العرض والارتفاع بالبكسل، وعدد العينات لكل بكسل، وعدد البتات لكل عينة، وعدد الصفحات، ثم أضف هامشًا لبنية TIFF والبيانات الوصفية. وفي سير عمل قائم، يكون الحجم غير المضغوط الذي يعرضه برنامج الصور أو برنامج الترميز أسهل قيمة للاستخدام. تقبل الحاسبة أعدادًا عشرية موجبة ومنتهية، ولذلك تناسب عمليات المسح الصغيرة ودفعات الأرشيف الكبيرة. استخدم تعريفًا واحدًا للميغابايت في خطة العمل كلها. الغرض من النتيجة هو تخطيط السعة والرفع ومقارنة الطرق، وليس توقع ناتج برنامج ترميز محدد بدقة كل بايت.
افهم نطاقات LZW وZIP وعدم الضغط
اختر الطريقة التي سيستخدمها برنامج كتابة TIFF. يفترض النموذج أن LZW ينتج حجمًا يساوي تقريبًا 45% إلى 75% من الحجم غير المضغوط، وأن ZIP ينتج نحو 30% إلى 60%. وكلتا الطريقتين لا تفقدان البيانات، لذلك تصف هذه النطاقات خفض مساحة التخزين لا تغير جودة الصورة. ويعيد خيار عدم الضغط 100% من خط الأساس تمامًا مع توفير يساوي صفرًا، فيكون مرجعًا مفيدًا عند مقارنة الخطط. تعرض النتيجة حدًا أدنى وحدًا أقصى للحجم التقديري، ثم تحوّل هذا النطاق إلى توفير متحفظ وآخر متفائل بالميغابايت والنسبة المئوية. يقابل الحجم الأصغر توفيرًا أكبر، بينما يقابل الحجم الأكبر توفيرًا أقل. وتجعل النسب الثابتة الطلبات المتكررة قابلة لإعادة الإنتاج وسهلة المراجعة. لا يفحص الحساب وحدات البكسل ولا يحاكي مكتبة TIFF بعينها. وهكذا يجيب بصورة متسقة عن سؤال التخطيط المالي مع توضيح تفاوت الضغط الفعلي دون فقدان.
استخدم التقدير مع هامش أمان مناسب
تعامل مع النطاق الناتج بوصفه مجالًا معتادًا للتخطيط، لا حدًا صارمًا. فقد تجعل الصور الفوتوغرافية، وعمليات المسح المشوشة، والصور المحسّنة مسبقًا، وأعماق البت غير المعتادة، والتقسيم إلى مربعات، والصفحات المتعددة، والمعاينات المضمنة، وملفات تعريف الألوان، والبيانات الوصفية الكثيرة الحجم النهائي خارج النطاق. وغالبًا ما تُضغط الرسومات المسطحة والأقنعة والمخططات والمستندات ذات المساحات المتكررة بكفاءة أعلى من الصور الغنية بالتفاصيل. كما تغير إعدادات برنامج الترميز والمتنبئات النتيجة حتى مع بقاء اسم الطريقة نفسه. عند شراء مساحة تخزين، استخدم الحد الأعلى للحجم التقديري وأضف هامشًا تشغيليًا للبيانات الوصفية وتخصيص نظام الملفات والمراجعات والنمو. ولتخطيط عرض النطاق، اضرب القيمة المتحفظة في عدد الملفات المتوقع، وضع في الحسبان إعادة المحاولة أو النقل المكرر. إذا كان الحجم الدقيق ضروريًا، فرمّز عينة ممثلة بالبرنامج وإعدادات الإنتاج نفسيهما، ثم قس النسب الفعلية واستخدمها في التوقع النهائي. وتظل هذه الحاسبة مفيدة للمقارنة المبكرة المتسقة قبل توفر تلك العينة.
حالات الاستخدام
تخطيط ترحيل أرشيف
قدّر نطاقًا متحفظًا للتخزين قبل تحويل مجموعة كبيرة من الملفات الممسوحة غير المضغوطة إلى TIFF دون فقدان.
مقارنة طرق الترميز
قارن النطاقين المعتادين لـ LZW وZIP بخط أساس غير مضغوط قبل اختيار إعداد الإنتاج.
توقع حجم النقل
حوّل تقديرات كل ملف إلى ميزانية للنطاق الترددي لعمليات الرفع أو النسخ المتماثل أو التسليم أو النسخ الاحتياطي.
الأسئلة الشائعة
هل حجم TIFF التقديري مضمون؟
لا. النتيجة نطاق معتاد لأن الضغط الفعلي يعتمد على محتوى الصورة وبنية TIFF والبيانات الوصفية وإعدادات برنامج الترميز.
هل يقلل LZW أو ZIP جودة الصورة؟
لا. كلاهما ضغط دون فقدان في TIFF، فتظل قيم وحدات البكسل بعد فك الترميز محفوظة حتى لو صغر الملف المخزن.
ما الحجم غير المضغوط الذي ينبغي إدخاله؟
استخدم حجم TIFF قبل الضغط، لا حجم نسخة مضغوطة مسبقًا، وحافظ على تعريف الميغابايت نفسه في جميع حساباتك.
لماذا تتساوى القيمتان عند عدم الضغط؟
يطبق هذا الخيار 100% تمامًا، لذلك يساوي الحد الأدنى والحد الأقصى خط الأساس المدخل، ويكون التوفير صفرًا.
ماذا يحدث إذا أدخلت طريقة ضغط أخرى؟
يعيد الطلب خطأ إدخال غير صالح. القيم المقبولة حصرًا هي LZW وZIP وnone.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن أيضًا تشغيل الحساب الحتمي نفسه مجانًا في متصفحك.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/tiff-compression-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"uncompressed_size_mb":250,"compression":"LZW"}'const res = await fetch("https://api.kit.forhosting.com/image/tiff-compression-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"uncompressed_size_mb": 250,
"compression": "LZW"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/tiff-compression-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"uncompressed_size_mb": 250,
"compression": "LZW"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/tiff-compression-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"uncompressed_size_mb":250,"compression":"LZW"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"uncompressed_size_mb":250,"compression":"LZW"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/tiff-compression-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"uncompressed_size_mb": 250,
"compression": "LZW"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.tiff_compression_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 15 |
max_megapixels | 12 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |