Skip to content

Bits of .NET

Daily micro-tips for C#, SQL, performance, and scalable backend engineering.

  • Asp.Net Core
  • C#
  • SQL
  • JavaScript
  • CSS
  • About
  • ErcanOPAK.com
  • No Access
  • Privacy Policy

Tag: advanced photoshop

Photoshop

Photoshop: Use Frequency Separation for Professional Skin Retouching

- 17.02.26 - ErcanOPAK comment on Photoshop: Use Frequency Separation for Professional Skin Retouching

Blurring skin for retouching also removes texture. Frequency Separation edits skin tone and texture on separate layers. Setup: 1. Duplicate layer twice (Ctrl+J twice) 2. Name layers: “Low Frequency” (bottom) and “High Frequency” (top) Low Frequency layer (tone/color): Filter → Blur → Gaussian Blur → 4-6px High Frequency layer (texture/detail): Image → Apply Image: Layer: […]

Read More
Photoshop

Photoshop: Use Vanishing Point to Edit Perspective Correctly

- 16.02.26 - ErcanOPAK comment on Photoshop: Use Vanishing Point to Edit Perspective Correctly

Editing objects in perspective manually looks distorted. Vanishing Point maintains correct perspective automatically. Access: Filter → Vanishing Point How to Use: 1. Create Plane tool: Click 4 corners of a perspective surface (wall, floor, etc.) 2. Clone/Stamp/Paint within defined plane 3. Edits automatically match perspective! Use Cases: – Remove text from building wall – Clone […]

Read More
Photoshop

Photoshop: Use High Pass Filter for Professional Sharpening

- 15.02.26 - ErcanOPAK comment on Photoshop: Use High Pass Filter for Professional Sharpening

Regular sharpen filter creates artifacts. High Pass sharpening gives professional results with full control. Steps: 1. Duplicate layer (Ctrl+J) 2. Filter → Other → High Pass 3. Set Radius 1-3 pixels (subtle edges visible) 4. Change blend mode to Overlay or Soft Light 5. Adjust opacity to taste Why Better: – Non-destructive (adjust opacity anytime) […]

Read More
Photoshop

Photoshop: Use Clipping Masks to Apply Adjustments to Single Layer

- 15.02.26 - ErcanOPAK comment on Photoshop: Use Clipping Masks to Apply Adjustments to Single Layer

Adjustment layer affecting all layers? Clip it to apply to only one layer below. Create Clipping Mask: 1. Add adjustment layer above target layer 2. Alt+Click between the two layers 3. Adjustment only affects layer below! Or: Right-click adjustment layer → Create Clipping Mask Visual Indicator: Arrow pointing down = clipped to layer below Example: […]

Read More
Photoshop

Photoshop: Use Blend If to Remove White/Black Backgrounds Without Selecting

- 14.02.26 - ErcanOPAK comment on Photoshop: Use Blend If to Remove White/Black Backgrounds Without Selecting

Magic wand selection leaving halos? Blend If removes backgrounds based on brightness – no selection needed. Remove White Background: 1. Double-click layer to open Layer Style 2. Find “Blend If” section at bottom 3. Drag This Layer white slider left 4. White pixels become transparent! For Smoother Transition: Hold Alt while dragging to split slider […]

Read More
Photoshop

Turn Any Photo into a Lighting-Corrected Asset

- 24.01.26 - ErcanOPAK comment on Turn Any Photo into a Lighting-Corrected Asset

Use Blend If sliders instead of masks. Why it works: Physically accurate light blending No edge artifacts Faster than manual masking Hidden gem for UI assets.

Read More
February 2026
M T W T F S S
 1
2345678
9101112131415
16171819202122
232425262728  
« Jan    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (935)
  • How to add default value for Entity Framework migrations for DateTime and Bool (832)
  • Get the First and Last Word from a String or Sentence in SQL (826)
  • How to select distinct rows in a datatable in C# (799)
  • How to make theater mode the default for Youtube (717)
  • Add Constraint to SQL Table to ensure email contains @ (574)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (553)
  • Average of all values in a column that are not zero in SQL (520)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (474)
  • Find numbers with more than two decimal places in SQL (436)

Recent Posts

  • C#: Use MemoryPack for 10x Faster Serialization than JSON
  • C#: Use params ReadOnlySpan for Allocation-Free Variable Arguments
  • C#: Use ObjectPool for Reusing Expensive Objects
  • C#: Use Lazy for Expensive Object Initialization
  • SQL: Use STRING_AGG to Concatenate Rows into Comma-Separated List
  • SQL: Use Filtered Indexes to Index Only Subset of Rows
  • .NET Core: Use Result Pattern to Avoid Exceptions for Expected Errors
  • .NET Core: Use IOptions Pattern for Strongly-Typed Configuration
  • Git: Use .gitattributes to Handle Line Endings Across OS
  • Git: Use git notes to Add Comments to Commits Without Changing History

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (935)
  • How to add default value for Entity Framework migrations for DateTime and Bool (832)
  • Get the First and Last Word from a String or Sentence in SQL (826)
  • How to select distinct rows in a datatable in C# (799)
  • How to make theater mode the default for Youtube (717)

Recent Posts

  • C#: Use MemoryPack for 10x Faster Serialization than JSON
  • C#: Use params ReadOnlySpan for Allocation-Free Variable Arguments
  • C#: Use ObjectPool for Reusing Expensive Objects
  • C#: Use Lazy for Expensive Object Initialization
  • SQL: Use STRING_AGG to Concatenate Rows into Comma-Separated List

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter
© 2026 Bits of .NET | Built with Xblog Plus free WordPress theme by wpthemespace.com