Arkadaşlar her ne yaptımsa bir türlü "PAN" ve "ZOOM" hareketini istediğim gibi yapamadım. projeye bakıp nere de hata yaptığım konusunda fikirlerinizi rica ediyorum.
KAYNAK PROJE
http://www68.zippyshare.com/v/zKvbhtBr/file.html
Android Photo Resize sorunu (proje ektedir)
-
- Üye
- Mesajlar: 10
- Kayıt: 04 May 2016 05:58
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Android Photo Resize sorunu (proje ektedir)
Merhaba;
Pan ve Zoom işlemleri için;
1- Forma bir adet GestureManager ve bir Image nesnesi yerleştirin.
2- Image nesnesine herhangi bir resim ekleyin.
3- Object Inspector'dan Formun Touch>GestureManager özelliğinde GestureManager1'i seçin.
4- Object Inspector'dan Formun Touch>InteractiveGestures özelliğinin Zoom ve Pan özelliğini True yapın.
5- Lokal değişken bölümünde aşağıdaki tanımlamaları yapın;
6- Formun OnGesture olayında aşağıdaki kodları yazın.
İyi çalışmalar...
Pan ve Zoom işlemleri için;
1- Forma bir adet GestureManager ve bir Image nesnesi yerleştirin.
2- Image nesnesine herhangi bir resim ekleyin.
3- Object Inspector'dan Formun Touch>GestureManager özelliğinde GestureManager1'i seçin.
4- Object Inspector'dan Formun Touch>InteractiveGestures özelliğinin Zoom ve Pan özelliğini True yapın.
5- Lokal değişken bölümünde aşağıdaki tanımlamaları yapın;
Kod: Tümünü seç
private
FEnSonKonum: TPointF;
FEnSonMesafe: Integer;
Kod: Tümünü seç
var
LObj: IControl;
LImage: TImage;
LImageMerkez: TPointF;
begin
//Zoom için
if EventInfo.GestureID = igiZoom then
begin
LObj := Self.ObjectAtPoint(ClientToScreen(EventInfo.Location));
if LObj is TImage then
begin
if (not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags)) and
(not(TInteractiveGestureFlag.gfEnd in EventInfo.Flags)) then
begin
LImage := TImage(LObj.GetObject);
LImageMerkez := LImage.Position.Point + PointF(LImage.Width / 2,
LImage.Height / 2);
LImage.Width := LImage.Width + (EventInfo.Distance - FEnSonMesafe);
LImage.Height := LImage.Height + (EventInfo.Distance - FEnSonMesafe);
LImage.Position.X := LImageMerkez.X - LImage.Width / 2;
LImage.Position.Y := LImageMerkez.Y - LImage.Height / 2;
end;
FEnSonMesafe := EventInfo.Distance;
end;
end;
//Pan için
if EventInfo.GestureID = igiPan then
begin
LObj := Self.ObjectAtPoint(ClientToScreen(EventInfo.Location));
if LObj is TImage then
begin
if not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags) then
begin
LImage := TImage(LObj.GetObject);
LImage.Position.X := LImage.Position.X + (EventInfo.Location.X - FEnSonKonum.X);
LImage.Position.Y := LImage.Position.Y + (EventInfo.Location.Y - FEnSonKonum.Y);
end;
FEnSonKonum := EventInfo.Location;
end;
end;
end;
-
- Üye
- Mesajlar: 10
- Kayıt: 04 May 2016 05:58
Re: Android Photo Resize sorunu (proje ektedir)
Fesih kardeşim çok çok teşekkür ederim. Elinize sağlık.
Oldukça iyi çalıştı kod.
Yalnız bunu scrollbox nesnesi içerisinde kullanınca sorun çıkıyor sanırım LObj=TScroolBox olunca bu sorunu da aşmış oluruz
Oldukça iyi çalıştı kod.
Yalnız bunu scrollbox nesnesi içerisinde kullanınca sorun çıkıyor sanırım LObj=TScroolBox olunca bu sorunu da aşmış oluruz
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Android Photo Resize sorunu (proje ektedir)
Rica ederim.delphimaker yazdı:Fesih kardeşim çok çok teşekkür ederim. Elinize sağlık.
Oldukça iyi çalıştı kod.
Yalnız bunu scrollbox nesnesi içerisinde kullanınca sorun çıkıyor sanırım LObj=TScroolBox olunca bu sorunu da aşmış oluruz
Pan işlemi için ScrollBox kullanacak iseniz;
1- Formun OnGesture olayından
Kod: Tümünü seç
if EventInfo.GestureID = igiPan then
begin
....
....
....
end;
2- Daha sonra Form üzerine bir ScrollBox yerleştirin ve Align özelliğini Client yapın.
3- Daha önce forma eklemiş olduğunuz Image nesnesini, (Structure penceresinde) ScrollBox1 içerisine sürükleyip bırakın.
4- Image Align özelliğini Center yapın.
5- Daha sonra Pan işlemini test edin.
Yani kod yazmadan da ScrollBox ile Pan işlemleri yapılabiliyor.
İyi çalışmalar...
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Android Photo Resize sorunu (proje ektedir)
Merhaba;
Yukarıda anlattığım ScrollBox örneğine ait ekran görüntüsü.

Yukarıda anlattığım ScrollBox örneğine ait ekran görüntüsü.

-
- Üye
- Mesajlar: 10
- Kayıt: 04 May 2016 05:58
Re: Android Photo Resize sorunu (proje ektedir)
Merhaba;
Çok teşekkür ederim kardeşim oldukça iyi oldu aklına yüreğine sağlık.
Çok teşekkür ederim kardeşim oldukça iyi oldu aklına yüreğine sağlık.