c# access random resim seçmek

Kodla Büyü

tomreader2010

Hiperaktif Üye
Hiperaktif
Süper Üye
Mesajlar
2,540
arkadaşlar veritabanımda yolları kayıtlı 50 resim var bunların arasından kullanıcının istediği sayıda resmi random olarak pictureboxlarda nasıl gösterebilirim
 
Resim isimlerini bir diziye atıp ardından da dizi eleman sayısı sınırları içinde rastgele bir sayı belirleyerek dizi indeksinden istediğin resim adına ulaşabilirsiniz.
 
mrtspmz' Alıntı:
Resim isimlerini bir diziye atıp ardından da dizi eleman sayısı sınırları içinde rastgele bir sayı belirleyerek dizi indeksinden istediğin resim adına ulaşabilirsiniz.
..
+1
..
diğer bir yöntem
bir döngü içinde 0-49 arasında random bir sayı üreterek. üretilen sayılı kaydın resmini göstertebilirsiniz.
döngü sayısı kullanıcının istediği sayı oluncada istenilen gerçekleşmiş olur
 
tomreader2010' Alıntı:
arkadaşlar veritabanımda yolları kayıtlı 50 resim var bunların arasından kullanıcının istediği sayıda resmi random olarak pictureboxlarda nasıl gösterebilirim

resim isimlerini diziye aktarmak mantıklı değil hocam yavaşlama olur.
En mantıklısı tablonda bir tane ID alanı yap otomatik artan sonra kayıt sayın kadar rasgele sayı üretirsin veritabanındanda resim bilgilerinin oluduğu sütunu çekersin bu bukadar

kolay gelsin
 
hocam veriyi çekerken şöyle bir sorgu yaparsan rastgele sıralayabilirsin

Kod:
select Val(Rnd(tabloadi.id)*1000) as rndSira,id,alan1,alan2 from tabloadi order by rndSira
 
hocalarım teşekkür ederim cevaplarınız için yapmaya çalışayım yapamazsam size danışırım yine
 
arkadaşlar
OleDbDataAdapter adp = new OleDbDataAdapter("select top 2 * from 6S1U1S order by rnd(-10000000*TimeValue(Now())*[SORU_ID])", baglan);
komutuyla rastgele resimleri seçiyorum fakat seçilen resimleri picturebox ta nasıl gösterebilirim
 
hocam aşağıdaki satırda verilen yolun biçimi desteklenmiyor diye bir hata mesajı alıyorum ama yolu felan tıpkı sizin ki gibi yaptım ama olmadaı
yeni.Image = Image.FromFile(Application.StartupPath + "\\res\\" + resimad);
 
hocam sorunu hallettim çok teşekkür ederim. bu seferde şöyle bir sorun oluştu.
e.Graphics.DrawImage(pictureBox1.Image, X, Y, Genislik, Yukseklik);
yukarıda ki kod ile picturebox ta ki resmin çıktısını alıyorum ,ancak burada pictureboxları çalışma anında oluşturduğumuz için hata veriyor yukarıdaki kod, yazıdırma kodunu nasıl değiştirmem gerekiyor bu sorunu halletmek için acaba
 
hocam picturebox ları çalışma anında oluşturuyoruz rastgele resim seçerken yazdırma işleminde ise tasarım anında kiler yazdırılıyor. Kullanıcının oluşturduğu picturebox ların yazdırılması nasıl olacak. Umarım anlatabildim
 
sanırım oluşturduğun pictureboxların name bilgisine ulaşmak istiyorsun

nesneyi oluştururken name atamalı istediğin zamanda conrolleri gezerek pictureboxa ulaşabılirsin

----------------------
int alinan = rastsayi.Next(0, 7);
string resimad= donenTablo.Tables[0].Rows[alinan]["isim"].ToString();
PictureBox yeni = new PictureBox();
yeni.Image = Image.FromFile(Application.StartupPath+"\\res\\"+resimad);
yeni.Height = 150;
yeni.Width = 150;
yeni.SizeMode = PictureBoxSizeMode.StretchImage;
// pictureboxa ulaşabilmek için name atıyoruz
yeni.Name = "resimKutusu" +i;

flowLayoutPanel1.Controls.Add(yeni);

------------------
foreach (Control resim in flowLayoutPanel1.Controls)// controlleri gezerek ulaşabilirsin
{
listBox1.Items.Add(resim.Name);
}
 
e.Graphics.DrawImage(pictureBox1.Image, X, Y, Genislik, Yukseklik);
hocam yukarıdaki printdocument kodunda hata veriyor nasıl yazacağımı bilemedim
 
Bitmap bm = new Bitmap(this.flowLayoutPanel1.Width, this.flowLayoutPanel1.Height);
flowLayoutPanel1.DrawToBitmap(bm, new Rectangle(0, 0, this.flowLayoutPanel1.Width, this.flowLayoutPanel1.Height));
e.Graphics.DrawImage(bm, 0, 0);

yukarıdaki kod ile çözdüm işine yarayan olursa diye paylaşmak istedim
 
Geri
Üst