Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
10/10
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )
10/10

Wood Graining DIY Tool Set(🎉Big Sale - 50% Off )

$39.99
$49.98
Save $9.99
ColorSuper saver( all 2 tapys)
Please select a color
Quantity

Easily draw beautiful and clear wood grain patterns where you want to decorate.

Animated GIF

FEATURES:

  • Easy to use - There is a handle on the back of the DIY grain painting tool, which can be directly held; Brush the paint where you need to decorate the wood grain, then drag the wood grain paint tool before the paint is completely dry to make the wood grain effect you want.

  • Durable material - Rubber empathic wood grain Pattern is made of soft but strong rubber material, which has nice elasticity and can be recycled; The soft surface will not damage your wall while making the wood grain.

  • Exquisite wood grain - The lines on the wood texture graining tool are clear; You can use this tool to draw beautiful wood grain patterns on the wall or other places to show the vivid wood grain effect.

  • Applicable place - You can use a wood graining painting tool to decorate your wall, floor, cabinet surface, fence, and other places. Use it for DIY wood decoration, which is convenient and quick, and makes your wall look brand new.


SPECIFICATIONS:
  • Material: Rubber
  • Colour: Red
  • Style A Sizes: Approx. 4 x 7.2cm (small); and 6.4cm x 15cm (large)
  • Style B Sizes: Approx. 3 x 9cm (small); 4 x 13 cm (large)

PACKAGE INCLUDED:

  • 1 Unit x Small Wood Grain Paint Tool
  • 1 Unit x Large Wood Grain Paint Tool 
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.