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