رفتن به مطلب
  • 0

سورس و آموزش گرافیک


berayan

سوال

سلام

دوستان چند روزی هست درگیر کار با گرافیک هستم .

در جستجو های که انجام میدادم به یک سایت بر خوردم که آموزش کار با تصاویر و ایتم های گرافیکی اون رو گذاشته اما واقعیت من نتو نستم تحلیلش کنم از اساتید محترم در خواست می کنم این سورس ها رو به صورت آموزش فارسی تحلیل کنن تا کا ربران ایرانی هم بتونن استفاده کنن .

لینک

http://www.basic4ppc.com/android/help/drawing.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

16 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

اگر بخوای این کدی که نوشتی بهتر و همه جا درست جواب بده باید یه چیزی بهش اضافه کنی...

اونم زمانیه که هم طول و هم عرض عکس بزرگتر از سایز صفحه گوشی باشه

ضمنا فکر کنم دومورد پایین رو اصلاح کنی بهتر باش

imgBG



.Top = 50%y - (bit1.Width/2)

imgBG.left = 50%x - (bit1.Height/2)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این لینک کار با گرافیک نیست.

کار باbitmape بیشتر.

بگو در گیر چه چیزی در گرافیک هستی تا ببینم چه کمکی ازم بر میاد.

دقیقا چی می خوای در گرافیک؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ، مقدار imageview رو عرض برابر با x قرار میدم اما نمی تونم y بر حسب مقدار x تنظیم کنم دقیقا همون کاری که گالری تصاویر خود موبایل انجام میده .

البته قبلا مطرح کردم ولی به نتیجه ای نرسیدم .

منظور گرافیک فتوشاپ نیست کلا کارهایی که مربوط به ایمیج هست رو گفتم .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببین اگه می خوای عکست در هimageview کامل نشون داده بشه اونجا نوشتم باید از gravity استفاده کنی.

بعدش که عکست کامل توی imageview قرار گرفت هر تغییر سایطی خاستی به imageview بده دیگه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید من قبلا تو سور این کارو کردم .


[left][size=4]

ImageView3.Height=bit3.Height
[/size]
[size=4]    ImageView3.Width=bit3.Width[/size]
[size=4]

[/size][/left]

خوب حالا مشکل اینجاست که اگر هر کدو از ابعاد تصویر بزرگتر از x و یا y باشه از کادر بیرون میزنه . اگرم یکی از ابعاد روبرابر کنی با مقدار x و یا y و ابعاد بعدی رو با اندازه تصویرت ست کنی بازم سایز اصلی بهم می خوره و طول و عرض تصویر با هم ،همخوانی ندارن .

می خوام از کادر بیرون نزنه و طول و عرض هم با هم همخوانی داشته باشن تا تصویر از حالت اصلیش خراب نشه .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

چرا می خوای سایز imageview رو به اندازه تصویرت بزرگ و کوچیک کنی آخه.

اندازه hjmageview رو ثابت بگیر و bitmap رو داخلش جا بده.

گالری گوشی هم همین کارو می کنه.

اینجوری:

Dim s1 As String


   Dim bit1 As Bitmap

   s1 = cur1.GetString("image1")&".jpg"


   bit1.initialize(File.DirAssets,s1)


   ImageView1.Bitmap=bit1

   imageview1.Gravity = Gravity.FILL

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درسته دوست عزیز باید شرطها زیاد تر باشه

مثلا اگر جفت اضلاع بزرگتر از xوy بودن و عرض عکس هم بزرگتر از طول بود چکار کن .

اما واقعا زمان بره من اصول کلی نوشتم و داخل نرم افزارم از همین روش استفاده کردم

کارهای زیادی میشه انجام داد همینطور در عرض و طول باید ضرب در 2 بشن تا موقه چرخش عکس اندازه صفحه بشه

و خیلی کارهای دیگه حالا هرکسی باید به اندازه نیازش خودش تغییرات ایجاد کنه .

بهر حال ممنون که راهنمایی کر دین .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بخاطر اینکه کاربر وقتی رو عکس کلیک کرد می خوام عکس بزرگ بشه . دیدی وقتی تو گالری رو یه عکس کلیک میکنی اون به اندازه صفحه در میاد همونجوری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب توی رویداد کلیک همون imageview ابعاد ایمیج ویو رو بزرگ کن .

Sub ImageView1_Click
   If imageview1.Height = 20%x Then
       imageview1.width = 100%x
       imageview1.Height = 100%y
   Else
       imageview1.width = 20%x
       imageview1.Height = 20%y
   End If
End Sub

یه انیمیشن هم بهش بده که خوشگل کوچیک و بزرگ شه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کار نکردم... ولی اگر راهی بهتر پیدا نکردی فکر کنم بشه با کمی ضرب و تقسیم درستش کرد...

مثلا بگی اگر سایز x عکس بزرگتر از 100%x عکسه سایز عکسو تقسیم بر نسبت این عدد کنه...

*گاز*بعضی وقتا از این راهها باید رفت*خنده*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینکه رو طول اثر داره .پس عرض چی تست نکردم ولی مطمنی جواب میده .

برای نمایش خوده عکس امتحان نکردمولی جاهای دیگه از اینکارا کردم(وقتی دیگه راهی پیدا نمیکنم)

طول و عرض رو هر دو رو میشه با این روش کار کرد...وقتی نسبتشونو بدست بیاریم برای مورد بعدی هم میشه با همون نسبت بزرگ یا کوچک کرد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینکه رو طول اثر داره .پس عرض چی تست نکردم ولی مطمنی جواب میده .

کد رو اصلاح کردم داداش.

من هم زمان هم دارم دنبال جواب سوالای خودم می گردم هم پروژه هام مونده هم کلی مشغله دیگه هم اینجا میام جواب میدم.

خوب خداییش گاهی یه اشتباه تو کد نویسی هم محتمله هم باید حق بدین.

وقتی میبینین نمیشه خودتون سعی کنین اصلاح کنین دیگه. *خنده*

Sub ImageView1_Click
   If imageview1.width = 20%x Then
       imageview1.width = 100%x
       imageview1.Height = 100%y
   Else
       imageview1.width = 20%x
       imageview1.Height = 20%y
   End If
End Sub  

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب دوستان گلم با تشکر از اینکه کمک کردین و مشورت و راهنمایی دادین .

از قدیم گفتن نابرده رنج گنج بدست نمی آید .

خودم حلش کردم میزارم تا بقیه دوستان هم استفاده کنن .

باید از طریق معادله ریاضی حل میشد .


[font=arial][size=3][size=2][font=verdana]
[color=#0000ff]Sub [/color]ImageView1_Click
'----------------------------------

[color=#0000ff]Dim [/color]s1 [color=#0000ff]As [/color][color=#008000]String[/color]

[color=#0000ff]Dim [/color]bit1 [color=#0000ff]As [/color][color=#008000]Bitmap [/color]

s1 = cur1.GetString("image1")&".jpg"


bit1.[color=#0000ff]initialize[/color]([color=#0000ff]File[/color].DirAssets,s1)


[color=#000080]ImageView1[/color].Bitmap=bit1


[color=#0000ff]Dim [/color]inth,intw,intx,inty [color=#0000ff]As [/color][color=#008000]Double[/color]


'-------------------------------------------------
[color=#000080]ImageView1[/color] .Top = [color=#ff0000]0%x[/color]

[color=#000080]ImageView1 [/color].left = [color=#ff0000]0%y[/color]

[color=#0000ff]If[/color] bit1.Width > [color=#ff0000]100%x[/color] [color=#0000ff]Then[/color]

intw =bit1.Width / [color=#ff0000]100 [/color]

intx =[color=#ff0000]100%x[/color] / intw

inth =bit1.Height / [color=#ff0000]100[/color]

inty = inth * intx

[color=#000080]ImageView1[/color].Width=[color=#ff0000]100%x[/color]

[color=#000080]ImageView1[/color].Height=inty

[color=#0000ff]Else If[/color] bit1.Height > [color=#ff0000]100%y[/color] [color=#0000ff]Then[/color]

inth =bit1.Height / [color=#ff0000]100 [/color]

inty =[color=#ff0000]100%y[/color] / inth

intw =bit1.Width / [color=#ff0000]100[/color]

intx = intw * inty

[color=#000080]ImageView1[/color].Width = intx

[color=#000080]ImageView1[/color].Height = [color=#ff0000]100%y[/color]

[color=#0000ff] Else [/color]

[color=#000080]ImageView1[/color].Height = bit1.Height

[color=#000080]ImageView1[/color].Width = bit1.Width

[color=#0000ff] End If[/color]
'-------------------------------------------------
End Sub
[/font][/size]
[/size][/font]

با کمال تشکر از همه دوستان

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آفرین...

خوشم اومد منظورمو خوب گرفتی

البته بقیه اساتید منو مسخره نکنن...من کامپیوتر نخوندم...اگر راه حل های اینطوری میدم منو ببخشین

تو یکی از برنامه ها از این کارا زیاد کردم...نمونشو پایین میزارم

attachment.php?attachmentid=623&stc=1

attachment.php?attachmentid=624&stc=1

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگر بخوای این کدی که نوشتی بهتر و همه جا درست جواب بده باید یه چیزی بهش اضافه کنی...

اونم زمانیه که هم طول و هم عرض عکس بزرگتر از سایز صفحه گوشی باشه

ضمنا فکر کنم دومورد پایین رو اصلاح کنی بهتر باش

imgBG



.Top = 50%y - (bit1.Width/2)

imgBG.left = 50%x - (bit1.Height/2)

کدی رو که شما نوشتی تست کردم جواب دقیق نمیده

کد خودم رو اصلاح کردم . کد پاینو تست کردم در زمان چرخش هم درست عمل میکنه و تنظیم عکس رو از وسط صفحه انجام میده . هم در حالت x و y . اگر با مشکلی یا اشتباهی مواجه شدن دوستان بگن تا رفعش کنم .


Sub ImageView1_Click
'--------------------------------
Panel2.Visible=False
Panel3.Visible=False
Back.Visible=False
ImageView2.Visible=False
ImageView3.Visible=False
Panel1.Visible=False
Btnlik.Visible=False
BtnEshterak.Visible=False
LabelMatn.Visible=False
LabelFasl.Visible=False
Panel1.Color = Colors.RGB(60,60,60)

Btnhazf.Visible=True
'----------------------------------
Dim s1 As String
Dim bit1 As Bitmap
s1 = cur1.GetString("image1")&".jpg"
bit1.initialize(File.DirAssets,s1)
ImageView1.Bitmap=bit1
Dim inth,intw,intx,inty As Double
'-------------------------------------------------
Dim gw,gh As Double
gw=bit1.Width *2
gh=bit1.Height*2

If gh > 100%y Then
inth =gh / 100
inty =100%y / inth
intw =gw / 100
intx = intw * inty'
-------------------------- If intx < 100%x Then
ImageView1.Width = intx
ImageView1.Height = 100%y
ImageView1.Left=(100%x-intx)/2
ImageView1.Top=0%y
Else
intw =gw / 100
intx =100%x / intw
inth =gh / 100
inty = inth * intx
ImageView1.Width=100%x
ImageView1.Height=inty
ImageView1.Left=0%x
ImageView1.Top=(100%y-inty)/2
End If
'--------------------------
else If gw > 100%x Then
intw =gw / 100
intx =100%x / intw
inth =gh / 100
inty = inth * intx
ImageView1.Width=100%x
ImageView1.Height=inty
ImageView1.Left=0%x
ImageView1.Top=(100%y-inty)/2
Else
ImageView1.Height = gh
ImageView1.Width = gw
ImageView1.Left=(100%x-gw)/2
ImageView1.Top=(100%y-gh)/2
End If
'-------------------------------------------------
End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...