Raniji izvorni Photo Editor interfejs. Uređivanje i izvoz u trenutnoj beta verziji još se testiraju.
Raniji izvorni Photo Editor interfejs. Uređivanje i izvoz u trenutnoj beta verziji još se testiraju.
← Svi izvorni vodiči

Xodera Plugins · Bubble Native

Xodera Photo Editor Native

Pretvorite odabranu fotografiju u dosljedni avatar, sliku proizvoda ili prilog izvještaju. Izrežite, rotirajte i promijenite veličinu, zatim spremite izvezenu kopiju u aplikaciji.

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

Dokumentacija pregledana 6 novembar 2026

Praktični primjeri

Dosljedni avatari profila prije otpremanja

Korisnici bi trebali odabrati koji dio njihove fotografije će se pojaviti u kvadratnoj slici profila umjesto da prihvate proizvoljno izrezivanje.

`source_url = selected profile image`; `crop_aspect = "1:1"`; `document_context = the account’s stable reference`.

Sačekajte `source_loaded`; Begin crop → Apply crop, uz Rotate ili Undo po potrebi. Kada korisnik izričito izabere Spremi, pokrenite Export image.

Samo na `export_completed`, koristite `output_uri`, `output_width`, `output_height` i `output_mime` kao ulaze u vaš radni tok otpremanja datoteka. Nakon toga sačuvajte njegovu trajnu referencu u Profil.

Ako korisnik otkaže ili `editor_error` se aktivira, zadržite stari avatar. Očistite sesiju pri promjeni računa kako drugi korisnik ne bi mogao vidjeti skicu.

Uređivanje stvara lokalnu kopiju. Vaša aplikacija odlučuje kako će je sačuvati ili otpremiti.

Pripremite dosljedne fotografije za tržište ili katalog

Različito kadriranje i prevelike slike čine katalog neujednačenim i povećavaju veličinu otpremanja.

`source_url = selected item photo`; `crop_aspect = the app’s chosen ratio`; `export_max_dimension`, `export_format` i `export_quality` dolaze iz vaše politike otpremanja.

Izrežite relevantno područje, po želji Resize, zatim Export image nakon što korisnik potvrdi. Originalnu datoteku/referencu čuvajte odvojeno.

Provjerite `output_width`, `output_height`, `output_bytes` i `output_mime` prije nego što vaš radni tok otpremanja sačuva rezultat. Pohranite referencu nastale slike na Stavku.

Ako izvoz ne uspije ili rezultat krši vašu politiku otpremanja, prikažite `error_code` i dopustite korisniku da ga izmijeni. Nemojte prepisati prethodnu sliku Stavke prije potvrde otpremanja.

Uređivanje stvara lokalnu kopiju. Vaša aplikacija odlučuje kako će je sačuvati ili otpremiti.

Napravite fokusiranu kopiju slike za terenski izvještaj

Tehničar može trebati detaljan prikaz jednog oštećenog dijela uz očuvanje originalne slike izvještaja.

`source_url = Current Report Photo’s source`; `document_context = the report/account reference`; omjer izrezivanja može ostati neograničen.

Begin crop → Apply crop, zatim koristite Undo/Redo za usporedbu izmjena. Export image stvara uređenu kopiju; vaša aplikacija pita da li da se ta kopija priloži Izvještaju.

Koristite `has_changes`, `can_undo`, `can_redo` i `output_uri`. Pohranite originalne i uređene reference u odvojena polja aplikacije nakon uspješnog otpremanja.

Cancel crop ili Reset edits vraća put uređivanja; otkazivanje mora ostaviti originalni prilog izvještaja nepromijenjen.

Uređivanje stvara lokalnu kopiju. Vaša aplikacija odlučuje kako će je sačuvati ili otpremiti.

Šta trenutno radi

Public beta. Use the documented controls and actions; test supported formats, permissions and device behavior in your own native app. Browser preview does not validate native device output.

Izradite radni tok

Koristite dostupne beta radnje ispod i testirajte rezultat na svojim ciljanim uređajima.

Ovi primjeri koriste zapise aplikacije poput Lesson, Message i Order. Zamijenite ih svojim tipovima podataka i nazivima elemenata. Primjer adresa medija mora biti zamijenjen vašim vlastitim datotekama.

  1. Postavite source_url na odabranu sliku. Koristite document_context za identifikaciju računa i zapisa koji se uređuje, tako da promjena zapisa očisti prethodnu fotografiju.

  2. Nakon source_loaded, pokrenite Begin crop. Odaberite 1:1 za avatar, prilagodite izrez i koristite Apply crop. Cancel crop ostavlja sliku nepromijenjenom.

  3. Koristite Rotate, Flip ili Resize po potrebi. Undo i Redo prolaze kroz dovršena uređivanja; Reset edits vraća originalnu sliku.

  4. Pokrenite Export image. Na export_completed pročitajte output_uri, output_width i output_height i output_mime. Sačuvajte ili otpremite tu kopiju koristeći odabrani radni tok za čuvanje datoteka, zatim pohranite sačuvanu datoteku u zapis.

Dijagram radnog toka — nije snimak ekrana aplikacije

Jednom konfigurirajte

Planirana je aktivacija ključa za ovaj dodatak. Kreirajte ili odaberite vaš Bubble app projekt u BestPlugins → Dashboard → Plugins. Odaberite Xodera Photo Editor Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera Photo Editor Native i zalijepite ga u licensing_api_key. Spremite jednom; zatim koristite radnje ispod. Svaki dodatak u svakom projektu ima svoj ključ.

Prvo odaberite ili snimite sliku u vašoj aplikaciji. Dajte editoru dobivenu adresu čitljive slike. Dozvole za kameru i foto‑biblioteku pripadaju odabiraču koji koristite.

Jednom konfigurirajte
  1. Kreirajte ili odaberite vaš Bubble projekt aplikacije na BestPlugins → Dashboard → Plugins.
  2. Odaberite ovaj dodatak i kopirajte njegov ključ projekta.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Dodajte element, odaberite svoje podatke aplikacije i izgradite radni tok ispod.
  5. In the dashboard, review and confirm the 7-day card trial for this plugin. It then costs US$1.50/month per app project, including development and production. Cancel before the trial ends to avoid the first charge.
Instalacija i pretplata

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Sačuvajte rezultat u vašoj aplikaciji

Spremite učitanu ili trajno spremljenu sliku u Profile.image ili vaše polje za prilog. output_uri je privremena datoteka na uređaju, pa najprije spremite tu datoteku svojim odabranim radnim tokom. Zatim pohranite output_width, output_height i output_mime kao metapodatke. Zadržite originalnu sliku ako su vam potrebne obje verzije.

Neuspjeh, otkazivanje i oporavak

Na source_load_failed ili editor_error, prikažite error_code i ponudite Load source. Cancel operation prestaje prihvatati nedovršeni rezultat; čekajte do is_busy=no prije nego započnete drugo uređivanje. Clear session briše editor, a ne sliku već spremljenu drugdje.

Mogućnosti i ograničenja

JPEG i PNG izvoz; kvalitet 0–1; maksimalna izlazna strana 1–4096 piksela. Ulaz: do 15 MiB i 20 megapiksela. Do 20 dovršenih uređivanja. Opcije izrezivanja: slobodno, 1:1, 4:3, 3:4 i 16:9. Nema ugrađene kamere, filtera, tekstualnih preklapanja, korekcije perspektive, WebP izvoz ili automatsko učitavanje.

Postavke, radnje i rezultati

Koristite ova imena u Bubble. Planirane funkcije su označene odvojeno.

Dostupna beta podešavanja

Postavke elementa

source_url · textdocument_context · textis_active · yes_nodisabled · yes_noshow_controls · yes_nocrop_aspect · textexport_format · textexport_quality · numberexport_max_dimension · numberallow_upscale · yes_noui_text_json · textlanguage · text

Stanja

editor_status · textis_busy · yes_nohas_image · yes_nohas_changes · yes_nocan_undo · yes_nocan_redo · yes_noimage_width · numberimage_height · numberoutput_uri · textoutput_width · numberoutput_height · numberoutput_bytes · numberoutput_mime · texterror_code · textcrop_active · yes_nocrop_rect_json · text

Događaji

source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_error

Radnje i njihovi ulazi

Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear session
Postavke elementa · 12
source_urltext · Podrazumevano: ""
Primjer vrijednostihttps://bestplugins.online/native-samples/avatar.jpg
Primjer Bubble izrazaSelected Profile's image_url
Adresa odabrane audio, video ili slikovne datoteke. Koristite tip datoteke koji ovaj dodatak podržava.
document_contexttext · Podrazumevano: ""
Primjer vrijednosti<current-user-id>
Primjer Bubble izrazaCurrent User's unique id
Stabilna vrijednost za ovaj račun ili zapis. Koristite istu vrijednost prilikom vraćanja njegovih spremljenih datoteka ili skica.
is_activeyes_no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaGuideHost's view_is_active (your yes/no custom state)
Postavite da dok je ovaj prikaz otvoren. Postavite ne pri napuštanju, kako reprodukcija ili trenutni rad mogu stati.
disabledyes_no · Podrazumevano: false
Primjer vrijednostino
Primjer Bubble izrazaGuideHost's is_busy (your yes/no custom state)
Onemogućite element dok je aplikacija zauzeta ili je ova radnja nedostupna.
show_controlsyes_no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaApp Settings' show_editor_controls
Prikaži ili sakrij ugrađene kontrole.
crop_aspecttext · Podrazumevano: "free"
Primjer vrijednosti1:1
Primjer Bubble izrazaAvatar Settings' crop_ratio
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
export_formattext · Podrazumevano: "jpeg"
Primjer vrijednostijpeg
Primjer Bubble izrazaFormat Dropdown's value
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
export_qualitynumber · Podrazumevano: 0.85
Primjer vrijednosti0.85
Primjer Bubble izrazaImage Settings' quality
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
export_max_dimensionnumber · Podrazumevano: 2048
Primjer vrijednosti2048
Primjer Bubble izrazaImage Settings' max_side
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
allow_upscaleyes_no · Podrazumevano: false
Primjer vrijednostino
Primjer Bubble izrazaAllow upscale Checkbox is checked
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
ui_text_jsontext · Podrazumevano: ""
Primjer vrijednosti{}
Primjer Bubble izrazaApp Settings' player_labels_json (supported keys only)
Opcionalni JSON s podržanim oznakama dugmadi. Ostavite prazno da koristite ugrađeni tekst.
languagetext · Podrazumevano: "auto"
Primjer vrijednostiuk
Primjer Bubble izrazaCurrent User's preferred_language
Postavite language=auto da prati podržani uređaj ili jezik preglednika. Unesite podržani kod jezika da ga izričito odaberete.
Radnje i njihovi ulazi · 13
Load source

Nema parametara akcije

Begin crop

Nema parametara akcije

Apply crop
origin_xnumber · Podrazumevano: —
Primjer vrijednosti0
Primjer Bubble izrazaCrop Settings' x (or omit all rectangle inputs)
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
origin_ynumber · Podrazumevano: —
Primjer vrijednosti0
Primjer Bubble izrazaCrop Settings' y (or omit all rectangle inputs)
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
widthnumber · Podrazumevano: —
Primjer vrijednosti512
Primjer Bubble izrazaResize Width Input's value:converted to number
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
heightnumber · Podrazumevano: —
Primjer vrijednosti512
Primjer Bubble izrazaResize Height Input's value:converted to number
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Cancel crop

Nema parametara akcije

Rotate
degreesnumber · Podrazumevano: —
Primjer vrijednosti90
Primjer Bubble izrazaRotation Dropdown's value
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Flip
axistext · Podrazumevano: —
Primjer vrijednostihorizontal
Primjer Bubble izrazaFlip Direction Dropdown's value
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Resize
widthnumber · Podrazumevano: —
Primjer vrijednosti512
Primjer Bubble izrazaResize Width Input's value:converted to number
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
heightnumber · Podrazumevano: —
Primjer vrijednosti512
Primjer Bubble izrazaResize Height Input's value:converted to number
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Undo

Nema parametara akcije

Redo

Nema parametara akcije

Reset edits

Nema parametara akcije

Export image

Nema parametara akcije

Cancel operation

Nema parametara akcije

Clear session

Nema parametara akcije

Stanja i događaji

Stanja

editor_status · text

Trenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.

is_busy · yes_no

Rad je još u toku. Sačekajte prije nego što započnete drugu radnju.

has_image · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

has_changes · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

can_undo · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

can_redo · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

image_width · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

image_height · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

output_uri · text

Lokacija datoteke na ovom uređaju. Sačuvajte ili otpremite datoteku odvojeno ako mora ostati online.

output_width · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

output_height · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

output_bytes · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

output_mime · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

error_code · text

Informacije o grešci za posljednju radnju. Prikažite korisnu poruku i ponudite odgovarajući pokušaj ponovo.

crop_active · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

crop_rect_json · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

Događaji

source_loaded

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

source_load_failed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

edit_applied

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

edit_undone

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

edit_redone

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

editor_reset

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

export_started

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

export_completed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

operation_cancelled

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

editor_error

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

Pitanja koja programeri postavljaju

Da li je output_uri Bubble datoteka?

Ne. To je lokalna putanja keša. Sačuvajte je putem provjerenog lokalnog čuvara ili otpremnika prije pohranjivanja reference na cloud datoteku.

Kako funkcionira pretplata?

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Povezani vodiči

Za pomoć, recite nam koji plugin i uređaj koristite, koju radnju ste pokušali i šta se dogodilo. Koristite primjer bez ličnih podataka. Nikada ne dijelite svoj ključ ili privatne datoteke.