تحويل DPI للصورة مع الحفاظ على حجم الطباعة
قد يعني تغيير DPI للصورة تعديل وسم في البيانات الوصفية فقط، وقد يعني تغيير عدد وحدات البكسل فعلياً مع تثبيت حجم الطباعة.
شغّل الأداة مجانًا
توضح هذه الحاسبة المعنى الثاني. أدخلوا العرض والارتفاع الحاليين بالبكسل، وقيمة DPI الحالية، والقيمة المستهدفة. تحسب الأداة أولاً العرض والارتفاع الفعليين للطباعة، ثم تحسب أبعاد البكسل اللازمة للحفاظ على الحجم نفسه تماماً عند الكثافة الجديدة. وهكذا تحصلون على مواصفة واضحة لإعادة التشكيل أو التصدير أو تجهيز الطباعة أو تسليم العمل إلى الإنتاج.
افهموا العلاقة بين البكسل وDPI وحجم الطباعة
لا يكون للصورة حجم طباعة مطلق حتى تُختار لها كثافة. فالعرض الفعلي بالبوصة يساوي العرض بالبكسل مقسوماً على DPI الحالي، وتنطبق القاعدة نفسها على الارتفاع. فعلى سبيل المثال، تشغل صورة أبعادها 2400 في 3000 بكسل مساحة 8 في 10 بوصات عند تفسيرها بقيمة 300 DPI. تحسب هذه الإمكانية كل محور على حدة، وتعرض السنتيمترات أيضاً لتيسير التخطيط للإنتاج. يُستخدم DPI هنا بالمعنى الشائع في سير عمل الصور، أي عدد وحدات البكسل لكل بوصة؛ ولا يفترض نمط نقاط طابعة أو شبكة حبر أو دقة خاصة بجهاز معين. إن تغيير وسم DPI في البيانات الوصفية وحده لا ينشئ تفاصيل إضافية. وبعرض المقاسات الفعلية أولاً، تستطيعون التحقق من حجم الطباعة المقصود واكتشاف البيانات المصدرية الخاطئة مبكراً. يجب أن تكون أبعاد البكسل وقيمتا DPI أعداداً موجبة ومحدودة، لأن الصفر والقيم السالبة وغير المحدودة أو المفقودة لا تصف صورة نقطية أو مطبوعة صالحة.
حوّلوا إلى DPI المستهدف مع ثبات المقاسات الفعلية
بعد معرفة العرض والارتفاع الفعليين، تُحسب أبعاد البكسل المستهدفة بضرب كل مقاس بالبوصة في DPI المستهدف. لذلك تزيد الكثافة الأعلى حجم شبكة البكسل المطلوبة وتقلله الكثافة الأدنى، بينما يظل حجم الطباعة الاسمي ثابتاً. تقرّب الحاسبة كل بُعد إلى أقرب بكسل صحيح، لأن ملفات الصور النقطية لا تحتوي على أجزاء من البكسل. وقد ينشأ عن التقريب فرق يقل عن نصف بكسل مستهدف عن القيمة الرياضية المثالية، وهو فرق أدنى عادةً من أي هامش ملحوظ في الطباعة. تتضمن النتيجة أيضاً معامل قياس يساوي DPI المستهدف مقسوماً على DPI الحالي. فالمعامل 2 يضاعف كل بُعد خطي ويجعل العدد الإجمالي للبكسل أكبر بنحو أربع مرات، بينما يخفض المعامل 0.5 كل بُعد إلى النصف. استخدموا الأبعاد الناتجة في إعدادات إعادة التشكيل أو التصدير عندما تحتاجون فعلاً إلى شبكة جديدة. أما عند تصحيح البيانات الوصفية فقط، فحافظوا على البكسل الأصلي.
استخدموا النتيجة بعناية في سير عمل الطباعة
يبين الحساب الأبعاد المطلوبة لكثافة مختارة، لكنه لا يستطيع اختراع تفاصيل لم يلتقطها المصدر. فتكبير صورة صغيرة إلى DPI أعلى بكثير ينشئ مزيداً من وحدات البكسل بالاستيفاء، ولا ينشئ نسيجاً أو تركيزاً أو معلومات جديدة عن الموضوع. تعاملوا مع الأبعاد المستهدفة بوصفها متطلباً إنتاجياً، وقارنوها بالمصدر قبل اتخاذ قرار إعادة التشكيل. قد يناسب خفض معتدل للكثافة الصور التي تُشاهد من مسافة أكبر، بينما قد تتطلب الفنون الجميلة والنصوص الصغيرة والرسوم الخطية والفحص القريب كثافة أعلى. احتفظوا بملف رئيسي غير معدل، واعملوا من أفضل مصدر متاح، وافحصوا الناتج قبل إرساله إلى الطابعة. وتأكدوا أيضاً من أن مزود الطباعة يستخدم حجم القص نفسه ولا يضيف نزفاً أو حواف أو اقتصاصاً بعد الحساب، لأن هذه التغييرات تعدل أبعاد لوحة العمل المطلوبة. تكلفة طلب API هي $0.002، وتنتج العمليات الحسابية الحتمية النتيجة نفسها دائماً للمدخلات المتطابقة.
حالات الاستخدام
جهزوا صورة لطباعة ذات حجم ثابت
حوّلوا أبعاد الصورة الحالية إلى شبكة البكسل الدقيقة التي يطلبها المختبر عند DPI المفضل.
خططوا لعملية إعادة التشكيل
راجعوا معامل القياس والأبعاد النهائية قبل اختيار طريقة الاستيفاء في محرر الصور.
تحققوا من عمل فني مستلم
أكدوا الحجم الفعلي الذي تدل عليه البيانات وقارنوه بمتطلبات الإنتاج.
الأسئلة الشائعة
هل يؤدي تغيير DPI إلى تحسين جودة الصورة؟
لا. قد تتطلب القيمة الأعلى مزيداً من البكسل، لكن الاستيفاء لا يستعيد التفاصيل المفقودة من المصدر.
لماذا تُقرّب أبعاد البكسل المستهدفة؟
تتطلب الصور النقطية وحدات بكسل صحيحة، لذلك تُقرّب كل قيمة حسابية إلى أقرب عدد صحيح.
هل يتغير حجم الطباعة الفعلي؟
لا. تُحسب أبعاد البكسل الجديدة خصيصاً للحفاظ على الحجم الذي تحدده الأبعاد وDPI الحاليان.
هل DPI وPPI متماثلان؟
تستخدم هذه الحاسبة DPI بالمعنى الشائع لعدد وحدات البكسل في البوصة. أما نقاط الطابعة الفعلية فتعتمد على الجهاز.
ماذا يحدث إذا كانت قيمة DPI صفراً أو سالبة؟
يفشل الطلب باعتباره إدخالاً غير صالح، لأن التحويل يتطلب قيماً موجبة لـDPI.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/dpi-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}'const res = await fetch("https://api.kit.forhosting.com/image/dpi-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/dpi-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/dpi-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/dpi-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"width_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.dpi_convert",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |