previous question adresindeki cevabı aldım. Ancak, bu koordinatları (axis equal
durumunda eksen kutusunun büyüklüğü ve konumu) almak için, bazı nispeten hantal hesaplamalar yapmamız gerekir. Ancak, MATLAB grafikler Java'ya dayandığından, Java özelliklerine erişebiliriz.Eksen kutusunun sınırları bir JFrame'de nasıl elde edilir?
jFrame = get(gcf,'JavaFrame');
BoxHeight = jFrame.getAxisComponent.getHeight;
BoxWidth = jFrame.getAxisComponent.getWidth;
(belki bu eksen bileşenleri ile ilişkili olabilir), Şekil pencerelerin bir genişlik ve yükseklik elde edebilirsiniz: Biz bu MATLAB kullanmak durumunda olduğunu bulduk. Ancak, piksel birimleri durumunda get(gcf, 'Position')
veya get(gca, 'Position')
değerlerinden farklıdırlar. Java konusunda uzman değilim (aynı zamanda Altman'ın findjobj
'u kullanarak bu özellikleri bulmayı denemedim).
Böylece, iki soru vardır:
MATLAB ve Java özelliklerinden elde edilen şekil pencerenin yüksekliği ve genişliği (belki bu eksen kutusudur) (aynı değildir neden- en azından bunlar Java'da tamsayılar ve MATLAB'da kayan nokta sayılarıdır)?
:
hf=figure('units','pixels'); ha=gca(hf);
set(ha,'units','pixels');
get(hf,'position')
get(ha,'position')
ans =
488 342 560 420
73.8000 47.2000 434.0000 342.3000`
BoxHeight=525
, BoxWidth=700
ve vites değiştirme, her zaman sıfır (alignmentX=0.0
ve alignmentY=0.0
) bulunur.
-
Java kullanarak MATLAB
çizilmiştir pencere eksenlerinin tam boyutunu ve konumunu elde etme
- ? MATLAB'de
Şekle göre bahsettiğiniz çerçeve değil mi? Gördüğüm örneklerden, java çerçeve bileşenleri her zaman şeklin boyutlarıyla eşleşti. Eksenin yükseklik/genişliğine gelince (şekle göre normalize edilmiş birimlerde), ha.pozisyonda olmalıdır, burada "ha" karşılık gelen eksen sapıdır. Matlab'ı kullanarak, pikselleri tam boyutta alabilirsiniz. Ha.Units = 'piksel' ve istediğiniz boyutta ha.Position = [x y genişlik yükseklik] – serigado
Hangi işletim sistemini kullanıyorsunuz? Linux'ta aynı boyutta geri dönerler. – Suever
Merhaba serigado! İlginiz için çok teşekkürler. Matlab'ım (get (gca, 'Position')) pikseller için kayan noktalı sayılar verir (set (gca, 'Units', 'Pixels')). Soruma bir örnek ekledim. –