Picture enclosed in a div element with blurred borders

I have a question regarding an image that was dynamically changed using JavaScript. The issue I'm facing is that the new image appears to be placed on top of a background image, resulting in a clear square outline around it. I'd like to know if there's a way to fade the edges of the image and blend it seamlessly with the background without using jQuery, preferably achieving this effect through vanilla JavaScript.

You can view the webpage where this problem occurs here: https://i.sstatic.net/uegzr.jpg

Below is the JavaScript code snippet I've been working on:

// attempting to move the images only
var y = document.getElementById("pic2");
// Sorted by pathing the image to the folder ( can use .. to get in the folder)
y.setAttribute("src", "../images/water_image1.png");
y.style.cssFloat = 'right';
// change the images to the same size as the replacing pic
y.style.width = "400px";
y.style.height = "250px";
// This is sorting out the alignment with the text
y.style.margin = "110px 20px 10px";
y.style.opacity = "0.8";
    

Answer №1

One way to achieve this effect is by iterating through every pixel in the image and adjusting the alpha channel based on its distance from the nearest border of the image. Once calculated, you can display the modified image using <canvas>. For more specific methods that may be easier but less versatile, check out this resource.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

How can we use jQuery to hide a selected option from a dropdown menu and move it to another dropdown menu?

<select> <option value = "volvo" > Volvo < /option> <option value = "saab" > Saab < /option> <option value = "vw" > VW < /option> <option value = "audi"> Audi < /option> </select> ...

Implement a feature in NextJS where an MP3 file is played upon clicking

Just getting started with JS frameworks and having some trouble with the function syntax. Here's what I have so far: when the button is clicked, it should play a quick audio file specified below the button in the Audio tags. Any suggestions on how to ...

Is it possible to place a div element from an aspx page into the div of an html page?

Currently, I am faced with the challenge of loading a specific DIV from an ASPX page into an HTML page. The ASPX page tends to load slowly, while the HTML page loads much faster. Therefore, I am attempting to display the DIV that takes time to load from t ...

Is it possible that when using Sequelize fixtures to import a model as a function, errors occur if the data is not properly imported from a JSON

I'm currently working on a node.js project that utilizes express and sequelize. I want to add fixtures to populate my data tables. For this purpose, I am using the Sequelize-fixtures npm package. Below is the content of my fixtures.js file: 'us ...

Dropdown Pattern with React CTA Modal

While using MaterialUI's ButtonGroup for a dropdown menu, I encountered an issue trying to set up a series of CTAs that are easily interchangeable within it. The goal is to have all components reusable and the choices in the dropdown dynamic. const C ...

Tips for inserting an object into an array

Here's the data I received: { 0:{modifierId: 4, modifierName: 'Garlic', modifierPrice: 60 } 1:{modifierId: 1, modifierName: 'Tartar ', modifierPrice: 60} 2:{modifierId: 3, modifierName: 'Herb ', modifierPrice: 60} item ...

Having difficulties with JavaScript's if statements

I'm facing an issue with my JavaScript code that is meant to modify the value of a price variable and then display the updated price. The problem arises when I have multiple select options, as the price only reflects the ID of the last statement. Here ...

An error occurred while trying to access the 'substr' method of an undefined property

Hey there, I'm facing an issue while trying to extract a substring from a string using some calculations. The error showing up in the browser console is: TypeError: Cannot read properties of undefined (reading 'substring') ...

Create a hexagon shape using a Div element and start from one of its sides

Is there a way to create a Div with a background image that appears like a hexagon when viewed from one side? Check out this demo to see exactly what I'm looking for: Demo In the example/demo, the header is designed to look like a hexagon from its ...

Transforming CSS shorthand background properties into longhand representation

I have been working on a function to convert shorthand CSS background declarations into longhand. The function I created is functional, but it does not handle cases where the background-color property includes color values like black or yellow. It also doe ...

Leveraging nodemailer for automated email delivery

Hey there! I'm looking for some advice on how to set up scheduling with emailing using nodemailer. Ideally, I'd love to be able to schedule emails to send every day at 9am within a web app using nodemailer. However, I'm not sure where to st ...

Can dynamic variables be incorporated within a const?

Could dynamic variables be used in the code below? const [viewport, setViewport] = useState ({ latitude:-8.683895, longitude:115.152307, width:800, height:440, zoom:16 }); I want the latitude and longitude to be flexible, like this: co ...

What is the process for configuring the injector in my application?

https://code.angularjs.org/1.0.0rc9/angular-1.0.0rc9.js I am facing an issue with the above link as it defines an external js file that I am not familiar with the injector to angular-1.0.0rc9.js. Due to this, my app is not running in the browser. Here is ...

Employing CSS animations to elevate div elements

Currently, I am working on animating a table of divs and trying to achieve an effect where a new div enters and "bumps up" the existing ones. In my current setup, Message i3 is overlapping Message 2 instead of bumping it up. How can I make Messages 1 and 2 ...

Is it possible to update both package-lock.json and package.lock simultaneously?

Before releasing to NPM, I always make sure to update the minor version. My usual process includes: - Modifying the package.json - Executing npm i to synchronize package-lock.json with the changes. This prepares both files for publishing. Is there a simpl ...

Utilizing Regex Patterns to Manipulate CSS Attributes

I am dealing with a string containing CSS properties and their values: str = "filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000'); background: -webkit-linear-gradient(top, black, wh ...

What exactly are <hover-sprite> elements in HTML and how can they be maximized for effectiveness?

I've been captivated by the dynamic images on the remix 3D site showcased here: Upon hovering over the image catalog, the photos come to life with movement. I'm eager to recreate this effect but am facing some challenges. Upon inspecting the el ...

What is the most effective method for dynamically showcasing buttons in AngularJS?

Hello all, I'm currently learning AngularJS and I was wondering if anyone could recommend the simplest and most effective method for dynamically displaying links from AngularJS to HTML. I am looking to display a variable number of buttons in my HTML ...

Error encountered during PHP GET submission

I am currently working on a PHP page where users can select a season and episode from a form, which will then be sent to a page to play the selected episodes. Below is the form: <form action="view" method="get"> <select> <option name="s" ...

Ways to create an object based on another object

Currently, I am teaching myself Javascript. My focus is on working with Vuejs and express for a CRUD App. In one of my components, I retrieve data from my backend using the API: localhost:3000/api/transport. The response contains all objects from the data ...