Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

  • Your Title Goes Here 54% 54%

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Off up to 35%

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

%

Your Title Goes Here

/* create_poster.jsx Usage: Edit the imagePath variable or drop this script in Scripts and run. */ #target photoshop app.bringToFront(); // === USER SETTINGS === var imagePath = "~/Desktop/sample.jpg"; // path to input image (change as needed) var outputName = "poster_output.jpg"; // output file name var outputQuality = 10; // 0-12 for JPG quality (Photoshop's Save for Web quality uses 0-100; here we'll use SaveOptions) var docWidthPx = 2000; // width in pixels var docHeightPx = 3000; // height in pixels var dpi = 300; var watermarkText = "Your Brand Name"; var watermarkFontSize = 140; var watermarkOpacity = 40; // percent // ======================= function main() { // Open image file var file = new File(imagePath); if (!file.exists) { alert("Image not found at: " + imagePath); return; } // Create new document var doc = app.documents.add(docWidthPx, docHeightPx, dpi, "Auto Poster", NewDocumentMode.RGB, DocumentFill.WHITE); // Place image as smart object (so it scales nicely) placeFileAsSmartObject(file); // Fit placed layer to canvas while preserving aspect ratio fitActiveLayerToCanvas(); // Duplicate background to apply blur and send to back var bgLayer = doc.activeLayer; bgLayer.name = "Background Image"; bgLayer.duplicate(); doc.activeLayer = doc.layers[0]; // the duplicate (bottom) doc.activeLayer.name = "Blur Background"; // apply Gaussian Blur applyGaussianBlur(30); // Make a sharpened copy on top (optional stylistic choice) doc.activeLayer = bgLayer; // the top non-blurred smart-object layer doc.activeLayer.name = "Main Image"; // add subtle shadow to main image addDropShadowToLayer(doc.activeLayer, 60, 120, 20, 30); // Add watermark text centered var textLayer = doc.artLayers.add(); textLayer.kind = LayerKind.TEXT; var textItem = textLayer.textItem; textItem.contents = watermarkText; textItem.size = watermarkFontSize; textItem.font = "ArialMT"; // fallback font; change to an installed font if needed textItem.justification = Justification.CENTER; // center text on canvas textLayer.translate((docWidthPx/2) - textItem.width/2, (docHeightPx/2) - (parseInt(watermarkFontSize)/2)); // set opacity textLayer.opacity = watermarkOpacity; // Add stroke and outer glow via layer style addStrokeAndOuterGlow(textLayer); // Flatten or keep layers? We'll save a flattened JPG var saveFile = new File(Folder.desktop + "/" + outputName); saveJPG(doc, saveFile, 12); alert("Poster created and saved to Desktop as: " + outputName); } // Helper functions function placeFileAsSmartObject(file) { var idPlc = charIDToTypeID("Plc "); var desc = new ActionDescriptor(); desc.putPath(charIDToTypeID("null"), file); desc.putEnumerated(charIDToTypeID("FTcs"), charIDToTypeID("QCSt"), charIDToTypeID("Qcsa")); // place as smart object executeAction(idPlc, desc, DialogModes.NO); } function fitActiveLayerToCanvas() { var doc = app.activeDocument; var layer = doc.activeLayer; // get layer bounds and doc bounds var layerBounds = layer.bounds; // UnitValue var layerWidth = layerBounds[2].as("px") - layerBounds[0].as("px"); var layerHeight = layerBounds[3].as("px") - layerBounds[1].as("px"); var docWidth = doc.width.as("px"); var docHeight = doc.height.as("px"); var scale = Math.max((docWidth / layerWidth), (docHeight / layerHeight)) * 100; layer.resize(scale, scale, AnchorPosition.MIDDLECENTER); // center the layer layer.translate((docWidth - layerWidth * (scale/100)) / 2 - (layerBounds[0].as("px") - 0), (docHeight - layerHeight * (scale/100)) / 2 - (layerBounds[1].as("px") - 0)); } function applyGaussianBlur(radius) { var idGsnB = charIDToTypeID("GsnB"); var desc = new ActionDescriptor(); var idRds = charIDToTypeID("Rds "); desc.putUnitDouble(idRds, charIDToTypeID("#Pxl"), radius); executeAction(idGsnB, desc, DialogModes.NO); } function addDropShadowToLayer(layer, distance, angle, size, opacity) { // uses Layer Effects via ActionDescriptor var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putClass(stringIDToTypeID('layerStyle')); desc.putReference(charIDToTypeID('null'), ref); // Too verbose to build full descriptor; instead use simpler approach: try { layer.applyStyle("dropShadow"); // will fail if style not present — safe to ignore } catch(e) {} // As a fallback, use built-in command: not easily adjustable here, so skip precise settings. } function addStrokeAndOuterGlow(textLayer) { try { var idsetd = charIDToTypeID( "setd" ); var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putProperty( charIDToTypeID( "Prpr" ), stringIDToTypeID( "layerEffects" ) ); ref1.putEnumerated( charIDToTypeID( "Lyr " ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) ); desc1.putReference( charIDToTypeID( "null" ), ref1 ); var desc2 = new ActionDescriptor(); var desc3 = new ActionDescriptor(); // Stroke var descStroke = new ActionDescriptor(); descStroke.putBoolean(stringIDToTypeID("enable"), true); descStroke.putEnumerated(stringIDToTypeID("style"), stringIDToTypeID("strokeStyleLineAlignment"), stringIDToTypeID("strokeStyleLineAlignmentOutside")); descStroke.putUnitDouble(stringIDToTypeID("size"), charIDToTypeID("#Pxl"), 6); var strokeColor = new ActionDescriptor(); strokeColor.putDouble(charIDToTypeID("Rd "), 255); strokeColor.putDouble(charIDToTypeID("Grn "), 255); strokeColor.putDouble(charIDToTypeID("Bl "), 255); descStroke.putObject(stringIDToTypeID("color"), stringIDToTypeID("RGBColor"), strokeColor); desc2.putObject(stringIDToTypeID("stroke"), stringIDToTypeID("stroke"), descStroke); // Outer glow var descGlow = new ActionDescriptor(); descGlow.putBoolean(stringIDToTypeID("enable"), true); descGlow.putUnitDouble(stringIDToTypeID("size"), charIDToTypeID("#Pxl"), 30); var glowColor = new ActionDescriptor(); glowColor.putDouble(charIDToTypeID("Rd "), 0); glowColor.putDouble(charIDToTypeID("Grn "), 0); glowColor.putDouble(charIDToTypeID("Bl "), 0); descGlow.putObject(stringIDToTypeID("color"), stringIDToTypeID("RGBColor"), glowColor); desc2.putObject(stringIDToTypeID("outerGlow"), stringIDToTypeID("outerGlow"), descGlow); desc1.putObject( charIDToTypeID( "T " ), stringIDToTypeID( "layerEffects" ), desc2 ); executeAction( idsetd, desc1, DialogModes.NO ); } catch(e) { // ignore if fails (layer styles through descriptors can be finicky) } } function saveJPG(doc, saveFile, quality) { var jpgSaveOptions = new JPEGSaveOptions(); jpgSaveOptions.quality = quality; // Flatten copy for saving to avoid altering open doc var dup = doc.duplicate(); dup.flatten(); dup.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE); dup.close(SaveOptions.DONOTSAVECHANGES); } // run try { main(); } catch (e) { alert("Error: " + e.message); }

0 Comments

14 + 3 =

Your Title Goes Here

Day(s)

:

Hour(s)

:

Minute(s)

:

Second(s)

No Results Found

The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.

Your Title Goes Here

>
Name Goes Here

Name Goes Here

Position

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

No Results Found

The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.

Why Your Story Matters

Every individual, brand, or moment has a unique story. Whether you’re celebrating a special occasion, building a brand identity, or creating content for social media, visuals play a huge role in how the world sees you. Through photography and cinematography, I help...

My Creative Approach to Every Project

Every project begins with understanding your vision. What mood do you want? What message must the visuals deliver? Once the direction is clear, I use professional techniques—composition, lighting, color grading, and cinematic framing—to elevate your content into...

Cinematography: Turning Moments Into Movies

 Cinematography is where creativity meets motion. Through angles, transitions, lighting, and storytelling, cinematic videos allow you to experience moments in a dramatic and emotional way. Every clip becomes a scene, every movement a story.  From wedding films to...

Why Photography Is More Than Just Taking Pictures

Photography is storytelling. It’s the art of observing details that others might miss—the warmth of natural light, the emotion behind a smile, or the atmosphere of a place. Whether it’s a portrait, a product shoot, or an event, I focus on creating images that feel...

The Art of Photography & Cinematography: Capturing Moments That Speak Beyond Words

In a world where moments pass in the blink of an eye, photography and cinematography have become powerful mediums to preserve emotions, stories, and memories. A single image can hold a lifetime of meaning, and a well-crafted cinematic video can turn any moment into a...

Modules Page

by | Oct 31, 2025

90hy08y8

[oih

9njbkv

Block Reveal Text

Monday
9:00 AM - 6:00 PM

Jkjuu

iughg

hgiufyccuyd job;iuyfdfy

% Iuhtruy
[contact-form-7 id=""]

Fiyuyuy

78t

8tgy89t89y[0y8

Ijaipuria

Transform Your Marketing Game with AI-Powered Paid Marketing Programme Harness the Power of AI to Optimize Facebook, Instagram, Google Ads, and Advanced Analytics! Designed by Tanmoy Kumar Das, an ex-Google professional & IIM Kozhikode alumnus GET INSTANT ACCESS AT ₹34999₹3499 Limited time discount -flat 88% off KNOW YOUR TRAINER TANMOY…

Redfin(home)

Buy Mortgage Sell Rent My Home Value Search Popular in Chicago The most viewed and favorited homes in the past day. $ 300,000 3beds   2baths   1,400sqft 2142 w rosemont ave unit 1a,Chicago,1L 60659. $ 160,000 1beds   1baths   -sqft 2901 s Michigan Ave#1909,chicago,1L 60616. $ 125,000 -beds…

Form

Photography Booking FormBook Your Photography Session Let's capture your special moments. Fill out the form below to check availability and book your session.First NameLast NamePhone/WhatsApp NumberEmailType of Shoot- Select -WeddingPre-WeddingEventPortraitProductDate & LocationMessageCheck AvailabilityYour information is safe with us. Book now

Categories

Categories Pavan visuals production house categories Engagement Pre-wedding Wedding Maternity Baby shower Baby shoot Birthday Product shoot Food shoot Any events Book now

contact us

View this post on Instagram A post shared by PRAHARSHINI | FEMALE PHOTOGRAPHER (@praharshini.photography) FollowFollowFollow Blank Form (#6)First NameLast NameEmailPhone/MobileI would like to discuss *Submit Form

Blog

Blog Why Your Story Matters by AdminEvery individual, brand, or moment has a unique story. Whether you’re celebrating a special occasion,... read more My Creative Approach to Every Project by AdminEvery project begins with understanding your vision. What mood do you want? What message must the visuals... read more Cinematography:…

About me

About me I’m pavan, a photographer and cinematic videographer driven by the belief that every moment holds a story worth preserving. For me, photography isn’t just a skill — it’s the way I see the world. I love capturing raw emotions, natural light, real expressions, and turning everyday moments into…

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

He gnertbnwerhwtnbwebebhewrb

Rating

☆☆☆☆☆
Df

Your Title Goes Here

Jihhhhijihg

00y8

Text Notation

9-7t7tDivi|Supreme|Supreme|Rotate8y98yg

Add Your Curvy Text Here

Design Divi sites with Divi Supreme

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Name Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.