23-01-18, 05:01 AM
(آخر تعديل لهذه المشاركة : 23-01-18, 05:02 AM {2} بواسطة silverlight.)
الواضح من كود الجافا أنك تريد تقسيم الصورة الأصلية الي عدة صور صغيرة
ثم نحفظ تلك الصورة في مصفوفة
ثم لاحقا تحفظ الصور الصغيرة علي الكمبيوتر
الكود التالي مكتوب بالفيجوال بيك دوت نت وسوف يؤدي المطلوب
ملجوظة:
تستطيع حفظ الصورة مباشرة بدلا من اضافتها الي مصفوفة
ثم نحفظ تلك الصورة في مصفوفة
ثم لاحقا تحفظ الصور الصغيرة علي الكمبيوتر
الكود التالي مكتوب بالفيجوال بيك دوت نت وسوف يؤدي المطلوب
PHP كود :
' نحدد الصورة المراد تقسيمها
' هنا أن أضفتها لفهرس المشروع
' يمكن تحديد الصورة الأصلية بأساليب كثيرة أخري
Dim source As Bitmap = My.Resources.silver
' نعرف متغير يحد عدد الصور
Dim count As Integer = 10
' نحدد عرض الصورة الصغيرة
Dim chunkWidth As Integer = source.Width() / count
' نحدد طول الصورة الصغيرة
Dim chunkHeight As Integer = source.Height() / count
' نعرف المصفوفة التي سنملأها بالصور الصغيرة
Dim bitmaps As List(Of Bitmap) = New List(Of Bitmap)()
' نقوم بباء حلقة الدوران لكي نقتطع الصور الصغيرة من الصورة الأصلية
Dim x As Integer = 0
Dim y As Integer = 0
While x < count
While y < count
' تعريف االصورة الصغيرة
Dim current As Bitmap = New Bitmap(chunkWidth, chunkHeight, source.PixelFormat)
' نرسم الصورة الصغيرة
Using g As Graphics = Graphics.FromImage(current)
Dim dstRect As Rectangle = New Rectangle(0, 0, chunkWidth, chunkHeight)
Dim srcRect As Rectangle = New Rectangle(chunkWidth * y, chunkHeight * x, chunkWidth * y + chunkWidth, chunkHeight * x + chunkHeight)
' عملية الرسم تتم باقتطاع الجزء المحدد مكانه علي الصورة الأاصلية
g.DrawImage(source, dstRect, srcRect, GraphicsUnit.Pixel)
End Using
' نضيف الصورة الصغيرة للمصفوفة
bitmaps.Add(current)
y += 1
End While
x += 1
End While
' حلقة دورام لكي نحفظ الصورة علي فهرس المشروع
Dim i As Integer = 0
While i < bitmaps.Count
Dim bmp As Bitmap = bitmaps(i)
bmp.Save(".\image" + i.ToString + ".jpg")
i += 1
End While
ملجوظة:
تستطيع حفظ الصورة مباشرة بدلا من اضافتها الي مصفوفة
Retired

