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

ممكن المساعده

بدأه hythamzero في 7 سبتمبر 2009 · 2 رد · 1,555 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ممكن المساعده ده كود لرسم صوره فيdx

Dim Ddsd As DDSURFACEDESC2
Dim Surface As DirectDrawSurface7
Dim Back_Buffer As DirectDrawSurface7
Dim R As RECT
 Dim Key As DDCOLORKEY

Set Surface= Dd.CreateSurfaceFromFile(App.Path & "\1.bmp", Ddsd
Surface.SetColorKey DDCKEY_SRCBLT, Key

Back_Buffer.BltFast 0, 665, Surface , r DDBLTFAST_SRCCOLORKEY + DDBLTFAST_WAIT

بالكود ده انا برسم الصوره وحذف اي لو اسود في الصوره

بس انا عاوز الصوره تظهر بدرجه شفافه معينه فما هو الكود

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

تم تعديل هذه المشاركة بواسطة الشمري في 7 سبتمبر 2009 في 06:49 — السبب: ـعديل تنسيق الكود

#2

يوجد شيء اسمه Blending ( المزج ) , هو الذي نستخدمه لاظهار الشفافية .. لكن يبدو لي أنك تستخدم DX7 و VB6 !

لذلك لا أملك هذه الادوات في الوقت الحالي ... حاول تنتقل الى اصدار أحدث مثل Directx8 على الأقل حتى يمكن للاخوة مساعدتك .

هذا كود يعمل على Direct3d 8 : طبعا لا يعمل بشكل مباشر ,, ولكن ستجد الدوال Functions و الثوابت Constants التي تحتاجها , الكود مأخوذ من هذا الرابط:

http://www.rookscape.com/vbgaming/tutBN.php

Public Sub RenderSprite(SpriteNum As Integer)

With Dev
	'Set the Sprite texture on the device
	Call .SetTexture(0, Textures(Sprites(SpriteNum).TextureIndex).D3DTexture)

   'Make sure the device supports alpha blending
	If (D3DCaps.TextureCaps And D3DPTEXTURECAPS_ALPHA) Then
		'It does, so turn alpha blending on
		Call .SetRenderState(D3DRS_ALPHABLENDENABLE, 1)
		If AlphaBlend = True Then
			Call .SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE)
			Call .SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE)
		Else
			'State for just drawing transparent color-keyed without alpha-blending
			Call .SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA)
			Call .SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA)
		End If
   'Draw the 2 polygons that make up the Sprite
	Call .DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, Sprites(SpriteNum).Verts(0), Len(Sprites(SpriteNum).Verts(0)))

   'If alpha blending was turned on
	If .GetRenderState(D3DRS_ALPHABLENDENABLE) Then
		'Turn it back off
		Call .SetRenderState(D3DRS_ALPHABLENDENABLE, 0)
	End If
End With

End Sub

كما قلت .. تحتاج الى الانتقال الى Direct3d 8 على الأقل حتى تستطيع أن تكمل .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

شكرا اخي الشمري علي ردك وعلي الموقع الجميل

انا نزلت منه مثال لعمل

alpha

rotultion

Color

fade

بس كان صعب اوي فهمه

والحمد لله فهمته وعملت مثال مبسط في المرفقات

وكل سنه وانت طيبين

ME.rar

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