image pixel to mm
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
image pixel to mm
merhaba arkadaşlar
forumda arama yaptım ama sağlıklı bi sonuç bulamadaım
bana image nesnesinde açtığım bir resimin 1 cm sinde ne kadar pixel oldığu lazım.
forumdaki sonuçlarda bu işi yazıcı için yapmışlar ama getdevice fonksiyonunu image nesnesine uygulamıyoruz tabiki:)
cevaplar için şimdiden teşekkürler
forumda arama yaptım ama sağlıklı bi sonuç bulamadaım
bana image nesnesinde açtığım bir resimin 1 cm sinde ne kadar pixel oldığu lazım.
forumdaki sonuçlarda bu işi yazıcı için yapmışlar ama getdevice fonksiyonunu image nesnesine uygulamıyoruz tabiki:)
cevaplar için şimdiden teşekkürler
-
- Üye
- Mesajlar: 16
- Kayıt: 16 Mar 2004 01:54
- Konum: Ankara
- İletişim:
Re: image pixel to mm
Bu işinizi görür sanıyorum
Kod: Tümünü seç
procedure PixelToMM(Canvas: TCanvas; var x, y: Single) ;
var
H:HDC;
hres,vres,
hsiz,vsiz:integer;
begin
H:=canvas.handle;
hres := GetDeviceCaps(H,HORZRES) ;
vres := GetDeviceCaps(H,VERTRES) ;
hsiz := GetDeviceCaps(H,HORZSIZE) ;
vsiz := GetDeviceCaps(H,VERTSIZE) ;
x := hres/hsiz;
y := vres/vsiz;
end;
-
- Üye
- Mesajlar: 16
- Kayıt: 16 Mar 2004 01:54
- Konum: Ankara
- İletişim:
ahh kusura bakmayın fonksiyon adını düzeltmeyi unutmuşum
olmalı aslında. Buradan dönen x ve y değişkenleri yatay ve dikey eksende kaç pixel'in 1 mm'ye denkgeldiğini söyler.
http://www.efg2.com/Lab/Library/Delphi/ ... DeviceCaps
Kod: Tümünü seç
procedure PixelPerMM(Canvas: TCanvas; var x, y: Single) ;
var
H:HDC;
hres,vres,
hsiz,vsiz:integer;
begin
H:=canvas.handle;
hres := GetDeviceCaps(H,HORZRES) ;
vres := GetDeviceCaps(H,VERTRES) ;
hsiz := GetDeviceCaps(H,HORZSIZE) ;
vsiz := GetDeviceCaps(H,VERTSIZE) ;
x := hres/hsiz;
y := vres/vsiz;
end;
http://www.efg2.com/Lab/Library/Delphi/ ... DeviceCaps
-
- Üye
- Mesajlar: 16
- Kayıt: 16 Mar 2004 01:54
- Konum: Ankara
- İletişim:
bu prosedür yazıcının değil canvasın handle'ı üzerinden çalıştığından verdiği değer ekranda kaç pixelin 1 mm olduğudur. aynı nedenle de çözünürlüğünüzü değiştirdiğinizde değer değişecektir. Örneğin sizde bu değer 3.51 çıkmış. bu demektirki 1cm de 35.1 adet pixel bulunur(sadece bir line olduğu durumda tabii) bu değeri baz alarak istediğiniz hesabı yapabilmeniz gerekir. eğer sizi yanlış anlamadıysam tabiiprolcay yazdı:ya yine teşekkür ediyorum
fakat burda device denildiğinde bilgisayar image yerine yazıcının boyutlarıyla ilgili bilgileri veriyo
yani o yüzden hep ayynı çıkıyorumuş
ama yinede çok teşekkür edierim
kolay gelsin

-
- Üye
- Mesajlar: 16
- Kayıt: 16 Mar 2004 01:54
- Konum: Ankara
- İletişim:
böyle bir durum olamaz. Bir bilgisayarda hem 10px hemde 27px 1cmye eşdeğer olmaz(aynı çözünürlük ayarlarıyla). resmi oluşturan en küçük parçaya pixel diyoruz ve bunun her çözünürlükteki mm değeri sabittir.prolcay yazdı:galiba yanlış anlattım
bir diğer resim en 1 cm 10 pixel
değer 3.51
başka bi resim eni 1 cm 27 pixel
http://en.wikipedia.org/wiki/Pixel
örneğin 600*800 çözünürlükte 3 oranını alıyorsunuz. 1200*1600 çözünürlüte bu oran 6 olacaktır. burda bahsi geçen çözünürlük resmin değil ekranın çözünürlüğü bu arada. ekrandan resme bakarken 1mmlik düzlemde kaç pixel gördüğünüzü verir bu foksiyon. buradan aldığınız oran ile resmin mm değerlerini siz hesaplamalısınız. umarım işini görür
Re: image pixel to mm
Çok zaman geçiş ama okuyan için söyleyeyim. Her resmin bir DPI değeri vardır 1inch deki piksel sayısını belirtir. Bu değere göre baskı boyutunu hesaplarsınız. dpi 72 olur ufacık resim 10cm. denk gelir dpi 300 olur aynı resim 2cm. denk gelir. DPI olmadan piksel - cm ya da mm çevrimi yapamazsınız.
....