DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
1 / 6
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
DIY Solid Wooden Frames - 30x40cm、[Everydayedeals]
Save $14.18
EDS

DIY Solid Wooden Frames - 30x40cm

$21.87 $36.05
60 sold
Qty 3000 in stock

DIY Solid Wood Canvas Painting Inner Frame Kit Wooden Art Wall Photo Poster Frames Picture Accessories
Features:
Pine wood frame, polished. Strong double-sided tape is pasted on the wooden strip, which makes the wooden frame of the canvas firmly adhered and is not easily deformed.
DIY solid wood picture frame is a design developed to meet the fun of DIY assembly. With simple tools and operating steps, you can mount a frameless picture, which can be hung to add a beautiful impression to homes and offices.

Specifications:
Material: Wood
Wooden strip size: 3D thickness 3cm/1.18in, plane width1.1cm/0.43in
Size:
30x40cm/11.81x15.75in

How to DIY:
1. Flip your canvas and mark the location of the wood on the canvas.
2. Remove the double-sided tape, and then paste the wood one by one on the canvas. Make sure: it's important that the edges of the battens and the edges of the canvas coincide with each other.
3. Raise the wood to ensure that the paint angle is sandwiched between the wood angles.
4. Nail the "U" nail into the corner of the wood.
5. Enter the cardboard stabilization frame.
6. Check the corners and edges to make sure the frame is stable.

Tip: This is a wooden frame without picture.

Notes:
1. Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
2. Please allow 1-3cm measuring deviation due to manual measurement.

Package Content:

4pcs X DIY Wooden Strip Frames
4pcs X Trapezoidal Inserts
4pcs X U-shaped Nails
1set X Seamless Hook Accessories

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.