![]() |
|
Tıklanılan Image'yi Android Galeride Açmak - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7) +--- Konu Başlığı: Tıklanılan Image'yi Android Galeride Açmak (/showthread.php?tid=7454) |
Tıklanılan Image'yi Android Galeride Açmak - kajmerantime - 02-10-2023 Selamlar, iyi forumlar. Geçen gün bir başlık açmıştım ama konuyu tam olarak anlatamadığım için istediğim sonucu alamadım. Öncelikle yaptığım şey, bir Button'a tıkladığımda TakePhotoFromCamera ile fotoğraf çekmek ve bu fotoğrafı bir Image içine atmak. İstediğim şey ise, bu Imageye tıkladığımda bana bu fotoğrafı Android Galeri uygulamasında açması.
Bunu isteme sebebim şu, kullanıcı uygulamayı kullanırken bir fotoğraf çekecek ve bu fotoğrafta bir düzenleme yapması gerekecek. Bu düzenleme işlemini program içinden yaptırmak yerine direk android galerisine yönlendirirsem orada düzenleme işlemini yapar ve kaydeder. Düzenlemesi daha kolay olur.
Teşekkür ederim.
Cvp: Tıklanılan Image'yi Android Galeride Açmak - hi_selamlar - 03-10-2023 (02-10-2023, Saat: 11:50)kajmerantime Adlı Kullanıcıdan Alıntı: Selamlar, iyi forumlar. Merhabalar, Konu tekrar yapmayın lütfen. Konuyu diğer başlık altında devam ettirin lütfen. Kolay gelsin. Cvp: Tıklanılan Image'yi Android Galeride Açmak - emozgun - 05-10-2023 @kajmerantime yorumlarına bakınca önceki konu Fotoğraf Ekleme ve Düzenleme silinmiş görünüyor, buradan devam edebiliriz Bu bağlantıları kullanabilirsin:
https://stackoverflow.com/questions/42753164/delphi-firemonkey-select-multiple-pictures-from-gallery-at-the-same-time
Cvp: Tıklanılan Image'yi Android Galeride Açmak - kajmerantime - 05-10-2023 (05-10-2023, Saat: 06:14)emozgun Adlı Kullanıcıdan Alıntı: @kajmerantime yorumlarına bakınca önceki konu Fotoğraf Ekleme ve Düzenleme silinmiş görünüyor, buradan devam edebiliriz İlginiz için teşekkür ederim. Tam olarak istediğim şey Imageyi düzenlemek. Bunun için Imageye tıkladığımda android galeride açarsa eğer galerinin içindeki editleme işlemlerini kullanabilirim diye düşündüm fakat pek bir sonuca ulaşamadım. Linklerde genel olarak tam ekran yapmayı vs. gösteriyor (veya ben öyle anladım). Dün çizim işlemini Paintbox ile yapmayı denedim ve windowsta çizim işlemini yaptım fakat androide geçtiğimde bu işlem olmadı. Paintbox ve GestureManager ile androidde çizim işlemi yapabilir miyim sizce? Yada bunu nasıl aratmalıyım çok bilmiyorum. Stackoverflowu yeterince verimli kullanamıyorum sanırım
Cvp: Tıklanılan Image'yi Android Galeride Açmak - hi_selamlar - 05-10-2023 (05-10-2023, Saat: 09:07)kajmerantime Adlı Kullanıcıdan Alıntı:(05-10-2023, Saat: 06:14)emozgun Adlı Kullanıcıdan Alıntı: @kajmerantime yorumlarına bakınca önceki konu Fotoğraf Ekleme ve Düzenleme silinmiş görünüyor, buradan devam edebiliriz https://www.delphican.com/showthread.php?tid=7449 Cvp: Tıklanılan Image'yi Android Galeride Açmak - kajmerantime - 05-10-2023 (05-10-2023, Saat: 10:06)hi_selamlar Adlı Kullanıcıdan Alıntı:(05-10-2023, Saat: 09:07)kajmerantime Adlı Kullanıcıdan Alıntı: İlginiz için teşekkür ederim. O konuyu ben açtım fakat silmiştim. Tekrar açıldığının farkında değilim özür dilerim. Bir daha olmaz
Cvp: Tıklanılan Image'yi Android Galeride Açmak - emozgun - 06-10-2023 @kajmerantime resimleri kendi uygulaman ile düzenlemek istiyorsan önce bitmap olarak açman lazım. Delphi ile Android 11 SDK 30 Kapsamlı Depolama Scoped Storage : SAF & MediaStore API konusundaki bit eşlem / bitmap kod parçacığı, Bitmap URI'si verilen bir dosyanın nasıl açılacağını gösteriyor, ekindeki veya github'daki örnek proje ile ImageControl1'a aldıktan sonra düzenleme yapabilirsin Cvp: Tıklanılan Image'yi Android Galeride Açmak - kajmerantime - 06-10-2023 (06-10-2023, Saat: 06:06)emozgun Adlı Kullanıcıdan Alıntı: @kajmerantime resimleri kendi uygulaman ile düzenlemek istiyorsan önce bitmap olarak açman lazım. Delphi ile Android 11 SDK 30 Kapsamlı Depolama Scoped Storage : SAF & MediaStore API konusundaki bit eşlem / bitmap kod parçacığı, Bitmap URI'si verilen bir dosyanın nasıl açılacağını gösteriyor, ekindeki veya github'daki örnek proje ile ImageControl1'a aldıktan sonra düzenleme yapabilirsinHocam galeride açmak yerine uygulamanın kendi içinde düzenlemek için şöyle bir kod yazdım. Windowsta çalıştırdığım zaman çizim yapabiliyorum istediğim şekilde. Fakat Android cihazda çalıştırdığımda çizim yapmaya başladığım gibi fotoğraf gidiyor. Image kayboluyor bir anda. Destek aldım bir çok şey denedim fakat düzelmedi. Birde çizim işlemini yaptıktan sonra çizim görünüyor. Parmağımla senkronize olmuyor. İlginiz için tekrardan teşekkürler. unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Objects,
FMX.Gestures;
type
TForm1 = class(TForm)
imgDrawing: TImage;
PaintBox1: TPaintBox;
GestureManager1: TGestureManager;
// procedure imgDrawingGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);
procedure FormCreate(Sender: TObject);
procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single);
procedure PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
procedure PaintBox1Gesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
private
{ Private declarations }
IsDrawing: Boolean;
LastX, LastY: Single;
Bitmap: TBitmap;
Canvas: TCanvas;
Drawing: Boolean;
FStartPoint: TPointF;
DrawingBitmap: TBitmap;
public
{ Public declarations }
end;
var
Form1: TForm1;
Drawing : Boolean;
implementation
{$R *.fmx}
procedure TForm1.FormCreate(Sender: TObject);
begin
Drawing := False;
LastX := 0;
LastY := 0;
Bitmap := TBitmap.Create;
Bitmap.SetSize(Round(imgDrawing.Width), Round(imgDrawing.Height));
Bitmap.Clear(TAlphaColorRec.Null);
end;
procedure TForm1.PaintBox1Gesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if EventInfo.GestureID = igiPan then
begin
imgDrawing.Visible := True;
if EventInfo.Flags = [TInteractiveGestureFlag.gfBegin] then
begin
imgDrawing.Visible := True;
// Pan hareketi başladığında çizim işlemini başlatın
PaintBox1.Canvas.BeginScene;
PaintBox1.Canvas.Stroke.Color := TAlphaColorRec.Yellow;
PaintBox1.Canvas.Stroke.Thickness := 10;
end
else if EventInfo.Flags = [TInteractiveGestureFlag.gfEnd] then
begin
imgDrawing.Visible := True;
// Pan hareketi bittiğinde çizim işlemini sonlandırın
PaintBox1.Canvas.EndScene;
end
else
begin
imgDrawing.Visible := True;
// Pan hareketi devam ederken çizim yapın
PaintBox1.Canvas.DrawLine(EventInfo.Location, EventInfo.Location, 1);
end;
Handled := True;
end;
end;
procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
Drawing := True;
LastX := X;
LastY := Y;
end;
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single);
begin
if Drawing then
begin
imgDrawing.Canvas.BeginScene;
try
PaintBox1.Canvas.Stroke.Color := TAlphaColorRec.Yellow;
PaintBox1.Canvas.Stroke.Thickness := 10;
PaintBox1.Canvas.DrawLine(TPointF.Create(LastX, LastY), TPointF.Create(X, Y), 1);
finally
imgDrawing.Canvas.EndScene;
end;
LastX := X;
LastY := Y;
end;
end;
procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
Drawing := False;
end;
end.
|