الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أخذ ابعاد الصورة بالضغط على الماوس

بدأه qudama في 23 أغسطس 2010 · 11 رد · 1,000 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني

منذ يومين طلبت ابعاد لصورة عند النقر بالماوس عليها

فالاخوة مشكورين قدموا المساعدة ولكن عند التجربة

كان يعطيني ال x الخاصة بالصفحة وكذلك ال y

اي بمعنى ذلك اذا زاد طول الصفحة وانا مخزن الابعاد

في قواعد بيانات فسينتج مشكلة في اماكن تلك العلامات

فكيف لي أخذ فقط ابعاد الصورة اي ان ال x,y يحسبان فقط

من اطار الصورة في اي اتجاه

#2
<html>
	<Head>
	<script type="text/javascript">
		function ShowSize()
		{
			width=document.getElementById('img').width;
			height=document.getElementById('img').height;
			alert("Width=" + width + " hieght=" + height);
		}
	</script>
	</Head>
	<Body>
	<img src="yourImage.jpg" id="img" onclick="ShowSize();"/>
	</Body>
</html>

هكذا بإمكانك أن تأخذ حجم الصورة الفعلي بغض النظر عن أي إعتبارات أخرى (مثل حجم الشاشة و الصفحة ... الخ)

#3

أخي لا اريد الطول والعرض اريد عند الضغط في الماوس

عند نقطة ما ان يعطيني احداثيات هذه النقطة فقط

ولك جزيل الشكر

#4
<html>
<head>
<script language="JavaScript">
function point_it(event){
	pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
	pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
	document.getElementById("cross").style.left = (pos_x-1) ;
	document.getElementById("cross").style.top = (pos_y-15) ;
	document.getElementById("cross").style.visibility = "visible" ;
	document.pointform.form_x.value = pos_x;
	document.pointform.form_y.value = pos_y;
}
</script>
</head>
<body>
<form name="pointform" method="post">
<div id="pointer_div" onclick="point_it(event)" style = "background-image:url('sun.jpg');width:500px;height:333px;">
<img src="point.gif" id="cross" style="position:relative;visibility:hidden;z-index:2;"></div>
You pointed on x = <input type="text" name="form_x" size="4" /> - y = <input type="text" name="form_y" size="4" />
</form> 
</body>
</html>

هذا الكود يعمل بشكل جيد.

المصدر

1
#5

مشكلة :D

على حد علمي لا يوجد تابع يعطيك التموضع الحالي للصورة ضمن الشاشة مثلا لو وجدت صورة باسفل الصفحة مثلا بعد مقال طوله 1500 بكسل وعند عمل سكرول الى تلك الصورة لايوجد تابع ياخذ منها مباشرة تلك الاحداثيات عند كل عمل سكرول

انا فهمت من مثالك هكذا

post-223709-036453000 1282565911_thumb.g

يعني لو وجدت صفحة بطول 2000 بكسل وانت تريد اعتبار بداية الصورة 0.0 لتكمل باقي الاحداثيات

ان كان هكذا لا اتوقع يوجد طريقة

ولكن ان كنت وقعت بمشكاة الصورة رايي استخدم ال div وخليه يحيط بالصورة وممكن السكرول overflow:visible

عندها يمكنك الحفاظ على الصورة وامكانية تكبير وتصغيير الخ ومن دون ان تنتقل بالصفحة للاسفل

المرفقات
1.gif

تم تعديل هذه المشاركة بواسطة X-File في 23 أغسطس 2010 في 15:24

In bad state

#6

نتمنى من صاحب الموضوع توضيح طلبه بصورة أفضل فالمشاركة الأولى يُفهم منها شئ قام الأخ خلدون بالإجابة عليه بمثال، والمشاركة الثالثة يُُفهم منها شئ آخر تمت الإجابة عليه في موضوع سابق لذات العضو :blink:

بينما لو كنت تقصد ما تفضل الأخ X-File بتوضيحه فهذا أمر ثالث.

لذلك نتمنى التوضيح بشكل جيد.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

يا شباب شي بحط العقل بالكف صرلي عبنكت النت على حل للمشكلة بالصورة

بصراحة ماني متوقع انو شي بهالاهمية يكون مانو موجودة

طبعا يوجد اكثر (ليست من النت) من حل

جوابي ليس للسؤال ولكن ربما بعد مرور العصور قد يحتاج هذه الفكرة شخص ما

الاول الفريمات وتكون الصورة باحداثيات 0,0

ولا يحدث تضارب والحل الثاني هو ال div والتعامل مع div.scrollLeft

div.scrollTop

طبعا ولكنني غير مقتنع من عدم وجود خاصية تقوم بجلب الاحداثيات الحقيقة لصورة ظاهرة دون النظر الى بعدها الحقيقي عن اعلى الصفحة

تم تعديل هذه المشاركة بواسطة X-File في 24 أغسطس 2010 في 03:10

In bad state

#9

المطلوب من الأخ هو الحصول على إحداثيات الماوس فوق الصورة بإفتراض أن نقطة (0،0) هي زاوية الصورة العلوية اليسرى،

طبعا لحساب ذلك لا يمكن إلا الإعتماد على موقع الصورة،

بحيث يتم طرح إحداثيات X للصورة من إحداثيات الماوس الحالية (على الصفحة بشكل عام) فنحصل على إحداثيات X على الصورة بشكل خاص، و نفس الموضوع على Y.

و هذا ما يقوم به الكود في الرابط الذي وضعته (إذا دخلتم إلى الرابط سترون مثالا حيا)

ببساطه!

أنتم بحاجة إلى درس Computer Graphics :happy:

#10
*خلدون خالد* كتب:

المطلوب من الأخ هو الحصول على إحداثيات الماوس فوق الصورة بإفتراض أن نقطة (0،0) هي زاوية الصورة العلوية اليسرى،

طبعا لحساب ذلك لا يمكن إلا الإعتماد على موقع الصورة،

بحيث يتم طرح إحداثيات X للصورة من إحداثيات الماوس الحالية (على الصفحة بشكل عام) فنحصل على إحداثيات X على الصورة بشكل خاص، و نفس الموضوع على Y.

و هذا ما يقوم به الكود في الرابط الذي وضعته (إذا دخلتم إلى الرابط سترون مثالا حيا)

ببساطه!

أنتم بحاجة إلى درس Computer Graphics :happy:

اخي خلدون دقق الصورة ضمن div :)

بس فعلا فادتني كتير

الله يجزيك الخير ويكثر خيرك

وشكرا للسائل وربنا يوفقك فعلا سؤال بمحلو بس

سؤال هل كان سؤالك كما تم الاجابة عنه :D

صراحة المعظم يسال ويترك البقية يجربو :D

*خلدون خالد* كتب:

أنتم بحاجة إلى درس Computer Graphics :happy:

والله معك حق

تم تعديل هذه المشاركة بواسطة X-File في 24 أغسطس 2010 في 14:44

In bad state

#11

الله يجزيكم الخير

#12
Xacker كتب:

نتمنى من صاحب الموضوع توضيح طلبه بصورة أفضل فالمشاركة الأولى يُفهم منها شئ قام الأخ خلدون بالإجابة عليه بمثال، والمشاركة الثالثة يُُفهم منها شئ آخر تمت الإجابة عليه في موضوع سابق لذات العضو :blink:

بينما لو كنت تقصد ما تفضل الأخ X-File بتوضيحه فهذا أمر ثالث.

لذلك نتمنى التوضيح بشكل جيد.

qudama كتب:

الله يجزيكم الخير

بصراحة أفضل ما أستطيع القيام به هو وضع wacko.gif

تحياتي وشكراً على التفاعل الحقيقي مع ما كتب لك من حلول واقتراحات لم تكلّف نفسك أن توضّح أيها أقرب للإجابة عن سؤالك من خلال ترشيحها حتى يتم اعتمادها على الأقل.

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة