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

m-file to dll

مغلق
بدأه fireball_322 في 19 مايو 2007 · 3 رد · 486 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

هذا الكود ل m-file

اريد تحولة ل DLL file

حتى استخدمة مع GUI C#.NET

المساعده لتحويل هذا الفايل وربطة بال GUI

في الواجهة النهائية هناك 2 brows buttons

اريد ان اختار من الكبستين مكان الصور (السطور باللون الاحمر)

وهناك ايضا كبسة للاختيار اين موقع الحفظ للصوره الجديده (السطر باللون الاخضر)

ارجو المساعدة

clc

clear

i11=input('Enter the name of front image file: ','s');

j11=input('Enter the name of hiding image file: ','s');

i=imread(i11);

j=imread(j11);

p=1;

for l1=1:1:100

for l2=1:1:100

for l3=1:1:3

W(p)=j(l1,l2,l3);

p=p+1;

end

end

end

p=1;

for k1=1:15:2304

for k2=1:15:3072

if p<30000

i(k1,k2,3)=W(p);

end

if p==30000

www1=k1;

www2=k2;

break;

end

p=p+1;

end

end

Q=input('Enter the name of the output image file: ','s');

imwrite(i,Q);

hiding.zip

#2

السلام عليكم

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

كودك غير واضح بما فيه الكفاية فلقد قمت بقراءة صورتان ثم ...

هذه بعض الدوال التي تساعدك في تحويل كودك:

public static bool Invert(Bitmap b)
 {
  BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
  int stride = bmData.Stride;
  System.IntPtr Scan0 = bmData.Scan0;
   unsafe
	{
	 byte * p = (byte *)(void *)Scan0;
	 int nOffset = stride - b.Width*3;
	 int nWidth = b.Width * 3;
	for(int y=0;y<b.Height;++y)
	 {
	  for(int x=0; x < nWidth; ++x )
	   {
		p[0] = (byte)(255-p[0]);
		++p;
	   }
	   p += nOffset;
	  }
	}
   b.UnlockBits(bmData);
  return true;
}

public static bool GrayScale(Bitmap b)
 {
  BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
  int stride = bmData.Stride;
  System.IntPtr Scan0 = bmData.Scan0;
   unsafe
	{
	byte * p = (byte *)(void *)Scan0;
	int nOffset = stride - b.Width*3;
	byte red, green, blue;

	for(int y=0;y<b.Height;++y)
	{
	   for(int x=0; x < b.Width; ++x )
	  {
	   blue = p[0];
	   green = p[1];
	   red = p[2];
	 	   p[0] = p[1] = p[2] = (byte)(.299 * red + .587 * green + .114 * blue);
		 p += 3;
	  }
	p += nOffset;
	   }
	  }
 b.UnlockBits(bmData);
 return true;
}
#3

مشكوووووووووووور يا كبير

#4

العفو

الكبير هو الله عز وجل :)

هذا الموضوع مغلق.

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